문자열을 ‘=’문자로 나누고 싶습니다. 그러나 첫 번째 인스턴스에서만 분리하고 싶습니다. 어떻게해야합니까? 다음은 ‘_’char의 JavaScript 예제이지만 지정된 문자의 첫 번째 인스턴스에서만 문자열을 분할하면 작동하지 않습니다.
예 :
apple=fruit table price=5
String.split ( ‘=’)을 시도하면; 그것은 준다
[apple],[fruit table price],[5]
하지만 난 필요해
[apple],[fruit table price=5]
감사
답변
string.split("=", 2);
String.split(java.lang.String regex, int limit)
설명 대로 :
이 메소드에 의해 돌려 주어지는 배열에는,이 식의 각 부분 캐릭터 라인이 포함됩니다. 배열의 하위 문자열은이 문자열에서 순서대로 나타납니다. 표현식이 입력의 일부와 일치하지 않으면 결과 배열에는 하나의 요소, 즉이 문자열 만 있습니다.
이
limit
매개 변수는 패턴이 적용되는 횟수를 제어하므로 결과 배열의 길이에 영향을줍니다. 한계 n 이 0보다 크면 패턴이 최대 n -1 회까지 적용되며 배열의 길이는 n 보다 크지 않으며 배열의 마지막 항목은 마지막으로 일치 한 구분자를 초과하는 모든 입력을 포함합니다.
boo:and:foo
예를 들어, string 은 다음 매개 변수를 사용하여 다음 결과를 생성합니다.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" }
답변
예, 정수 매개 변수를 split 메소드에 전달하면됩니다.
String stSplit = "apple=fruit table price=5"
stSplit.split("=", 2);
다음은 Java doc 참조입니다. String # split (java.lang.String, int)
답변
다른 많은 답변이 한계 접근 방식을 제안하므로 다른 방법이 될 수 있습니다
주어진 문자의 첫 번째 발생을 반환하는 String 에서 indexOf 메소드를 사용할 수 있습니다. 해당 인덱스를 사용하면 원하는 출력을 얻을 수 있습니다
String target = "apple=fruit table price=5" ;
int x= target.indexOf("=");
System.out.println(target.substring(x+1));
답변
이 코드를 사용해보십시오 …
작동합니다.
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 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
기본적으로 split 방법은 주어진 정규식을 기준으로 n 개의 배열을 만듭니다. 그러나 두 번째 인수를 정수 인수로 전달하는 것보다 분할 후 만들 배열 수를 제한하려는 경우.
답변
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_!
나는 자신의 방법을 쓰는 것을 좋아한다 🙂