This question already has answers here:
Why String.split(“$”) doesn't work?
(3个答案)
5年前关闭。
我有一个包含字符串行的文本文件。使用“ $ @”符号分隔字符串。
(xxxx $ @ yyyy $ @ zzzz)
我想将这些字符串分开。所以我尝试了以下代码
但它不起作用。
无论我如何创建测试项目以及如何在“ $ @”中插入“-”符号,它都可以正常工作。
那么我该如何分隔这些字符串呢?有什么建议么??
您在带有单个反斜杠的正则表达式中转义了特殊字符。要在Java中将单个反斜杠转换为字符串文字,您必须对其进行转义,因此最终会产生两个反斜杠。
(3个答案)
5年前关闭。
我有一个包含字符串行的文本文件。使用“ $ @”符号分隔字符串。
(xxxx $ @ yyyy $ @ zzzz)
我想将这些字符串分开。所以我尝试了以下代码
String string = "xxx $@ yyyy $@ zzzz";
String[] parts = string.split("$@");
但它不起作用。
无论我如何创建测试项目以及如何在“ $ @”中插入“-”符号,它都可以正常工作。
那么我该如何分隔这些字符串呢?有什么建议么??
最佳答案
您为split
提供的字符串定义了一个正则表达式,因此必须转义正则表达式中的任何特殊字符:
String[] parts = string.split("\\$@");
您在带有单个反斜杠的正则表达式中转义了特殊字符。要在Java中将单个反斜杠转换为字符串文字,您必须对其进行转义,因此最终会产生两个反斜杠。