我正在研究在 Java 中使用正则表达式,并在 this link 上发现了一些有趣的东西。 。它说
[:punct:] Punctuation symbols . , " ' ? ! ; : # $ % & ( ) * + - / < > = @ [ ] \ ^ _ { } | ~
用于分解特殊字符。 Java 中是否有类似的东西,假设我有一个变量:
String sample = "I have $100";
无论如何我可以打破这个变量:我有 100 美元
I
have
$
100
最佳答案
因为您只想在 £
上进行拆分或$
我建议将它们放入您自己的角色类 [£$]
相反,使用预定义的字符,其中包含许多可能不应该拆分的字符。所以尝试类似 split("\\s|(?<=[£$])")
它将 split
-
\\s
- 每个空格 -
(?<=[£$])
- 每个有£
的地方或$
在它之前像$|100
(|
代表这样的地方)。这里使用的机制称为look-behind 。
演示
for (String s : "I have $100 and £200".split("\\s|(?<=[£$])"))
System.out.println(">" + s);
输出:
>I
>have
>$
>100
>and
>£
>200
关于java - Java中的正则表达式可以分割特殊字符和字母数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20174074/