我想分割一个包含+的字符串,我在String对象上使用split(): 但它显示例外。
class StringTest
{
public static void main(String[] args)
{
String val= "004+0345564";
String arr[]=val.split("+");
for(int i=0;i<=arr.length-1;i++){
System.out.println(arr[i]);
}
}
}
答案 0 :(得分:6)
String.split
将正则表达式作为参数。正则表达式中的+
具有特殊含义。 (之前的一个或多个)。
如果您想要文字+
,则需要使用\\+
转义它。 (正则表达式语法是\+
,但你需要使用第二个反斜杠在Java中转义反斜杠。)
答案 1 :(得分:3)
String arr[] = val.split("\\+");
而不是
String arr[]=val.split("+");
答案 2 :(得分:1)
Split采用正则表达式。您需要转义+
String arr[]=val.split("\\+")
答案 3 :(得分:1)
String arr[] = val.split("\\+");
答案 4 :(得分:1)
试试这个
class StringTest
{
public static void main(String[] args)
{
String val= "004+0345564";
String arr[]=val.split("\\+");
for(int i=0;i<=arr.length-1;i++){
System.out.println(arr[i]);
}
}
}
答案 5 :(得分:1)
您需要使用
String arr[] = val.split("\\+");
而不是
String arr[]=val.split("+");
split方法将regex作为输入。您也可以参考String#split进行确认。
答案 6 :(得分:0)
实际语法是
public String[] split(String regex, int limit)
//or
public String[] split(String regex)
所以请使用,低于一个。
String arr[] = val.split("\\+",0);