如何在java中使用'^'这个特殊字符分割字符串?

IT小君   2021-11-14T03:37:03

我想拆分以下字符串“Good^Evening”我使用了拆分选项它不拆分值。请帮我。

这是我一直在尝试的:

String Val = "Good^Evening";
String[] valArray = Val.Split("^");
评论(3)
IT小君

我假设你做了类似的事情:

String[] parts = str.split("^");

这不起作用,因为参数 tosplit实际上是一个正则表达式,其中^具有特殊含义。试试这个:

String[] parts = str.split("\\^");

The\\真的等同于 single \(第一个\需要作为字符串文字中的 Java 转义序列)。然后它是正则表达式中的一个特殊字符,这意味着“按字面意思使用下一个字符,不要解释其特殊含义”。

2021-11-14T03:37:03   回复
IT小君

您应该使用的正则表达式是“\^”,您将其写为"\\^"Java 字符串文字;IE

String[] parts = "Good^Evening".split("\\^");

正则表达式需要一个 '\' 转义符,因为插入符号 ('^') 是正则表达式语言中的元字符。需要第二个 '\' 转义符,因为 '\' 是字符串文字中的转义符。

2021-11-14T03:37:03   回复
IT小君

尝试这个

String str = "Good^Evening";
String newStr = str.replaceAll("[^]+", "");
2021-11-14T03:37:03   回复