разделить строку только на первом экземпляре-java
Я хочу разделить строку на ' = ' charecter. Но я хочу, чтобы он разделился только на первом экземпляре. Как я могу это сделать ? Вот пример JavaScript для ' _ ' char, но он не работает для меня
разделить строку только на первый экземпляр указанного символа
пример :
apple=fruit table price=5
когда я пытаюсь строку.Сплит('='); это дает
[apple],[fruit table price],[5]
но мне нужно
[apple],[fruit table price=5]
спасибо
6 ответов:
string.split("=", 2);как
String.split(java.lang.String regex, int limit)объясняю:массив, возвращаемый этим методом, содержит каждую подстроку этой строки, которая заканчивается другой подстрокой, которая соответствует данному выражению или заканчивается концом строки. Подстроки в массиве в том порядке, в котором они встречаются в этой строке. Если выражение не соответствует какой-либо части входных данных, то результирующий массив имеет только один элемент, а именно эту строку.
The
limitпараметр определяет количество раз, когда шаблон применяется и, следовательно, влияет на длину результирующего массива. Если предел n больше нуля, то шаблон будет применяться не более 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" }
Да, вы можете, просто передайте целочисленный параметр в метод split
String stSplit = "apple=fruit table price=5" stSplit.split("=", 2);вот ссылка на java doc: строка#split (java.ленг.String, int)
Как и многие другие ответы предлагают предельный подход, это может быть другой способ
можно использовать 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[] 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_!Мне нравится писать свои методы :)
Comments