如何拆分 Java 中的字符串并转义脱字符“^”?
How to split a string in Java with caret symbol '^' escaped?
我正在努力解决 java 中的字符串拆分方法和脱字符 (^)。
输入:
value1^value2^value3\^value3part2
预期输出:
[value1, value2, value3^value3part2]
有人可以为此提供解决方案吗?
我尝试了多种解决方案,但都没有成功。
谢谢。
根据您的评论,如果前面没有 \
,您似乎只想在 ^
上拆分。在这种情况下,您可以使用 negative look-behind 机制 (?<!...)
来测试我们尝试匹配的部分前面是否没有 ...
.
中描述的正则表达式
在您的情况下,您可以像这样使用它:
String[] values = yourLine.split("(?<!\\)\^");
所以你想拆分
- on
^
(我们需要转义它 \^
因为 ^
它是正则表达式元字符之一),
- 在
(?<!\\)
之前没有 \
- 我们需要转义 \
两次,一次在正则表达式中,一次在字符串文字中。
我正在努力解决 java 中的字符串拆分方法和脱字符 (^)。
输入:
value1^value2^value3\^value3part2
预期输出:
[value1, value2, value3^value3part2]
有人可以为此提供解决方案吗?
我尝试了多种解决方案,但都没有成功。
谢谢。
根据您的评论,如果前面没有 \
,您似乎只想在 ^
上拆分。在这种情况下,您可以使用 negative look-behind 机制 (?<!...)
来测试我们尝试匹配的部分前面是否没有 ...
.
在您的情况下,您可以像这样使用它:
String[] values = yourLine.split("(?<!\\)\^");
所以你想拆分
- on
^
(我们需要转义它\^
因为^
它是正则表达式元字符之一), - 在
(?<!\\)
之前没有\
- 我们需要转义\
两次,一次在正则表达式中,一次在字符串文字中。