我想用'='字符分割字符串。但是我只想在一开始就拆分它。我怎样才能做到这一点 ?这是'_'char的JavaScript示例,但对我来说不起作用, 仅在指定字符的第一个实例上才拆分字符串
范例:
apple=fruit table price=5
当我尝试String.split('='); 它给
[apple],[fruit table price],[5]
但是我需要
[apple],[fruit table price=5]
谢谢
我想用'='字符分割字符串。但是我只想在一开始就拆分它。我怎样才能做到这一点 ?这是'_'char的JavaScript示例,但对我来说不起作用, 仅在指定字符的第一个实例上才拆分字符串
范例:
apple=fruit table price=5
当我尝试String.split('='); 它给
[apple],[fruit table price],[5]
但是我需要
[apple],[fruit table price=5]
谢谢
Answers:
string.split("=", 2);
如String.split(java.lang.String regex, int limit)
解释:
此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符串终止或由字符串的结尾终止。数组中的子字符串按照它们在此字符串中出现的顺序排列。如果表达式与输入的任何部分都不匹配,则结果数组只有一个元素,即此字符串。
该
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文档参考: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));
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_!
我喜欢写自己的方法:)
=
。