我有一个这样的字符串:
String str="\"myValue\".\"Folder\".\"FolderCentury\"";
是否可以将上面的字符串拆分为.
,而不是只得到三个结果字符串:
columnArray[0]= "myValue"."Folder";
columnArray[1]= "FolderCentury";
或者我是否必须使用其他java方法来完成它?
答案 0 :(得分:4)
试试这个。
String s = "myValue.Folder.FolderCentury";
String[] a = s.split(java.util.regex.Pattern.quote("."));
你好程序员/ Yannish,
首先,拆分(“。”)不起作用,这不会返回任何结果。我认为java String split方法不起作用。分隔符,所以请尝试java.util.regex.Pattern.quote(“。”)而不是split(“。”)
答案 1 :(得分:3)
如果您尝试解决的问题非常具体,那么即使不使用正则表达式匹配,您也可以这样做:
int lastDot = str.lastIndexOf(".");
columnArray[0] = str.substring(0, lastDot);
columnArray[1] = str.substring(lastDot + 1);
答案 2 :(得分:3)
正如我在原帖(here)上发布的那样,下一个代码是:
String input = "myValue.Folder.FolderCentury";
String regex = "(?!(.+\\.))\\.";
String[] result=input.split(regex);
System.out.println("result: "+Arrays.toString(result));
生成所需的输出(具有两个值的数组):
result: [myValue.Folder, FolderCentury]