字符串拆分为字符串数组

时间:2012-10-24 22:11:37

标签: java string split

我有一个字符串变量Result,其中包含如下字符串:

"<field1>text</field1><field2>text</field2> etc.."

我使用此代码尝试拆分它:

Result = Result.replace("><", ">|<");

String[] Fields = Result.split("|");

根据许多网站,包括这个,这应该给我一个这样的数组:

Fields[0] = "<field1>text</field2>"
Fields[1] = "<field2>test</field2>"
etc...

但它给了我一个像:

的数组
Fields(0) = ""
Fields(1) = "<"
Fields(2) = "f"
Fields(3) = "i"
Fields(4) = "e"
etc..

那么,我做错了什么?

2 个答案:

答案 0 :(得分:2)

尝试

String[] fields = result.split("\\|");

请注意,我使用了更多传统的变量名称(它们不应以大写字母开头)。

请记住,split方法将正则表达式作为参数,而|在正则表达式的世界中具有特定含义,这就是为什么你这样做的原因没有收到你的期望。


相关文件:

答案 1 :(得分:2)

您对split("|")的调用是将|解析为正则表达式,或者它本身将在每个字符之间进行分割。

您可以对角色进行正则表达式转义以防止这种情况发生,或者完全使用不同的临时拆分字符。

String[] fields = result.split("\\|");

result = result.replace("><", ">~<");
String[] fields = result.split("~");