2

我有一个字符串变量 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..

那么,我做错了什么?

4

2 回答 2

2

尝试做

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

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

请记住,这些split方法将正则表达式作为参数,并且|在正则表达式的世界中具有特定的含义,这就是为什么您没有收到您所期望的。


相关文件:

于 2012-10-24T23:46:58.513 回答
2

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

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

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

或者

result = result.replace("><", ">~<");
String[] fields = result.split("~");
于 2012-10-24T23:48:23.127 回答