根据拆分规则拆分Java中的字符串?

时间:2013-08-29 10:42:40

标签: java

我有一个这样的字符串:

String str="\"myValue\".\"Folder\".\"FolderCentury\"";

是否可以将上面的字符串拆分为.,而不是只得到三个结果字符串:

columnArray[0]= "myValue"."Folder";
columnArray[1]= "FolderCentury";

或者我是否必须使用其他java方法来完成它?

3 个答案:

答案 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]