假设我有以下代码
String test = "$abc<>";
test = test.replaceAll("[^A-Za-z0-9./,#-' ]", "");
test 现在是“$abc”。
为什么要保留美元符号?
最佳答案
要保留的字符列表包括 #-'
,范围从 Unicode U+0023(#
符号)到 U+0027('
符号), 包括$
(U+0024).
如果您想让 #-'
被解释为三个字符的列表,只需将其转义即可:
test = test.replaceAll("[^A-Za-z0-9./,#\\-' ]", "");
或者放在列表末尾:
test = test.replaceAll("[^A-Za-z0-9./,#' -]", "");
关于Java replaceAll 因源字符串中的美元符号而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167920/