첫 번째 인스턴스에서만 문자열 분할 - java
문자열을 '=' charecter로 분할하고 싶습니다.하지만 첫 번째 경우에만 분할했으면 좋겠어요.내가 어떻게 그럴 수 있을까?다음은 '_' char에 대한 JavaScript 예제입니다만, 지정된 문자의 첫 번째 인스턴스에서만 문자열을 분할할 수 없습니다.
예:
apple=fruit table price=5
String.split('=')을 시도하면
[apple],[fruit table price],[5]
하지만 나는 필요하다
[apple],[fruit table price=5]
고마워요.
string.split("=", 2);
설명대로:
이 메서드에 의해 반환되는 배열에는 지정된 표현과 일치하거나 문자열 끝에 의해 종료되는 이 문자열의 각 하위 문자열이 포함됩니다.배열 내의 하위 문자열은 이 문자열에서 발생한 순서대로 배열됩니다.식이 입력의 어느 부분과도 일치하지 않으면 결과 배열에는 이 문자열이라는 하나의 요소만 포함됩니다.
그
limit
parameter는 패턴이 적용되는 횟수를 제어하기 때문에 결과 배열의 길이에 영향을 줍니다.제한 n이 0보다 클 경우 패턴은 n~1회까지 적용되며 어레이의 길이는 n보다 크지 않으며 어레이의 마지막 엔트리는 마지막으로 일치한 딜리미터 이외의 모든 입력을 포함합니다.스트링
boo:and:foo
예를 들어 이들 파라미터를 사용하여 다음 결과를 얻을 수 있습니다.Regex Limit Result : 2 { "boo", "and:foo" } : 5 { "boo", "and", "foo" } : -2 { "boo", "and", "foo" } o 5 { "b", "", ":and:f", "", "" } o -2 { "b", "", ":and:f", "", "" } o 0 { "b", "", ":and:f" }
예, 분할 메서드에 정수 매개 변수를 전달하기만 하면 됩니다.
String stSplit = "apple=fruit table price=5"
stSplit.split("=", 2);
다음은 Java 문서 참조 String #split(java.lang)입니다.문자열, int)
다른 많은 답변들이 한계 접근법을 제안하듯이, 이것은 다른 방법이 될 수 있습니다.
지정된 문자의 첫 번째 오카렌스를 반환하는 string에서 indexOf 메서드를 사용할 수 있습니다.이 인덱스를 사용하면 원하는 출력을 얻을 수 있습니다.
String target = "apple=fruit table price=5" ;
int x= target.indexOf("=");
System.out.println(target.substring(x+1));
String string = "This is test string on web";
String splitData[] = string.split("\\s", 2);
Result ::
splitData[0] => This
splitData[1] => is test string
String string = "This is test string on web";
String splitData[] = string.split("\\s", 3);
Result ::
splitData[0] => This
splitData[1] => is
splitData[1] => test string on web
기본적으로는 지정된 regex를 기반으로 n개의 어레이를 만듭니다.그러나 정수 인수로 split than second 인수를 전달한 후 작성하는 배열 수를 제한하는 경우.
이 방법은 다음과 같습니다.
public class Split
{
public static void main(String...args)
{
String a = "%abcdef&Ghijk%xyz";
String b[] = a.split("%", 2);
System.out.println("Value = "+b[1]);
}
}
String[] func(String apple){
String[] tmp = new String[2];
for(int i=0;i<apple.length;i++){
if(apple.charAt(i)=='='){
tmp[0]=apple.substring(0,i);
tmp[1]=apple.substring(i+1,apple.length);
break;
}
}
return tmp;
}
//returns string_ARRAY_!
독자적인 메서드를 쓰는 것을 좋아합니다:)
언급URL : https://stackoverflow.com/questions/18462826/split-string-only-on-first-instance-java
'programing' 카테고리의 다른 글
JEST 테스트에서 글로벌 Vue.js 변수를 조롱하는 방법 (0) | 2022.07.11 |
---|---|
소품 기본값(VueJ)에서 이 / VM 인스턴스에 액세스 (0) | 2022.07.11 |
비트 마스킹이란? (0) | 2022.07.11 |
Joda-Time: 기간, 간격 및 기간의 차이점은 무엇입니까? (0) | 2022.07.11 |
Vue.js 이벤트를 컴포넌트 체인으로 전파하는 방법 (0) | 2022.07.11 |