我有一个关于删除不需要的字符的问题,或者在更好的意义上,只保留某些字符。我偶然发现了一些名为String literal的东西,我不明白它是如何帮助我实现目标的。我之前偶然发现了这个,但不明白如何使用它。
字符串文字“[^ \ p {Alpha} - ']”可用于匹配任何字符 不是字母,破折号或撇号的字符;你可能会发现 这在使用replaceAll()
时很有用
我理解 replaceAll()的作用,但我不理解的其他内容是您可以在其中使用的{em>代码,例如[a-zA-Z]
在哪里寻找更多。所以我非常想做报价所说的,只保留字母和标点符号。
答案 0 :(得分:0)
您描述的过程称为正则表达式或简称正则表达式。它是一种用许多编程语言(包括Java)实现的工具,它允许您使用一行代码处理字符串,否则会更复杂和烦人。
我建议此链接更深入tutorial。
答案 1 :(得分:0)
replaceAll()
使用正则表达式。
在一篇文章中解释太多了,但我会解释一下。
这是一个正则表达式:[^A-Za-z.?!]
[]
表示角色类。它将匹配其中一个包含的字符(由元字符修改)。^
当这是char类中的第一个字符时,它是一个元字符,意思是NOT。A-Z
表示范围。这些ASCII / Unicode值之间的任何内容都将匹配.
,?
,!
被视为文字(在其他情况下,它们可以成为元字符)。因此,正则引用,如果引用并放入replaceAll()
,则会更改所有不是字母,.
,?
或!
的内容。< / p>
replaceAll()
中的第二个参数也接受一些与正则表达式相关的特殊字符,例如$1
并不代表$1
。
在使用$1
之前,您需要了解更高级的正则表达式(捕获组)。