-1

I have a string like this:

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

Is it possible to split the above string by . but instead of getting three resulting strings only two like:

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

Or do I have to use an other java method to get it done?

4

3 回答 3

4

尝试这个。

     String s = "myValue.Folder.FolderCentury";
     String[] a = s.split(java.util.regex.Pattern.quote("."));

嗨程序员/ Yannish,

首先 split(".") 将不起作用,这不会返回任何结果。我认为 java 字符串拆分方法不适用于 . 分隔符,所以请尝试 java.util.regex.Pattern.quote(".") 而不是 split(".")

于 2013-08-29T10:55:20.537 回答
3

如果您要解决的问题确实非常具体,您甚至可以完全不使用正则表达式匹配:

int lastDot = str.lastIndexOf(".");
columnArray[0] = str.substring(0, lastDot);
columnArray[1] = str.substring(lastDot + 1);
于 2013-08-29T11:06:50.797 回答
3

正如我在原始帖子(此处)上发布的那样,下一个代码:

   String input = "myValue.Folder.FolderCentury";
   String regex = "(?!(.+\\.))\\.";
   String[] result=input.split(regex);
   System.out.println("result: "+Arrays.toString(result));

产生所需的输出(具有两个值的数组):

result: [myValue.Folder, FolderCentury]
于 2013-08-29T11:39:30.893 回答