我做了以下内容:String.split( “”)没有分裂我的长字符串
String test = "this is a. example";
String[] test2 = test.split(".");
问题:test2
没有项目。但test
String
中有很多.
。
任何想法是什么问题?
我做了以下内容:String.split( “”)没有分裂我的长字符串
String test = "this is a. example";
String[] test2 = test.split(".");
问题:test2
没有项目。但test
String
中有很多.
。
任何想法是什么问题?
请注意,public String[] split(String regex)需要正则表达式。您需要转义special char.
。
使用String[] test2 = test.split("\\.");
如今你对Java的:
“别拿.
作为特殊字符.
,把它作为常规字符.
”。
请注意,转义正则表达式是由\
完成的,但在Java中,\
被写为\\
。
正如@OldCurmudgeon(+1),你可以使用public static String quote(String s)说: “返回指定字符串文字模式String” 的意见建议:
String[] test2 = test.split(Pattern.quote("."));
的点.
是特殊的正则表达式字符。这意味着匹配任何。你需要转义字符,这在Java中是用\\
完成的。
一旦它被转义出来,它就不会被视为特殊的并且会像其他任何字符一样被匹配。
所以String[] test2 = test.split("\\.");
应该很好地做的伎俩!
这就是它。谢谢:) – gurehbgui 2013-05-02 13:05:41
如果这回答你的问题,你应该把它标记为答案;-) – LionC 2013-05-02 13:08:37
建议使用'Pattern.quote(“。”)''而不是用escapes来窃取字符串。 – OldCurmudgeon 2013-05-02 13:10:54