我有一个字符串变量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..
那么,我做错了什么?
答案 0 :(得分:2)
尝试
String[] fields = result.split("\\|");
请注意,我使用了更多传统的变量名称(它们不应以大写字母开头)。
请记住,split
方法将正则表达式作为参数,而|
在正则表达式的世界中具有特定含义,这就是为什么你这样做的原因没有收到你的期望。
相关文件:
答案 1 :(得分:2)
您对split("|")
的调用是将|
解析为正则表达式,或者它本身将在每个字符之间进行分割。
您可以对角色进行正则表达式转义以防止这种情况发生,或者完全使用不同的临时拆分字符。
String[] fields = result.split("\\|");
或
result = result.replace("><", ">~<");
String[] fields = result.split("~");