字符串文字和删除不需要的字符

时间:2016-04-04 01:11:17

标签: java string-literals replaceall

我有一个关于删除不需要的字符的问题,或者在更好的意义上,只保留某些字符。我偶然发现了一些名为String literal的东西,我不明白它是如何帮助我实现目标的。我之前偶然发现了这个,但不明白如何使用它。

  

字符串文字“[^ \ p {Alpha} - ']”可用于匹配任何字符   不是字母,破折号或撇号的字符;你可能会发现   这在使用replaceAll()

时很有用

我理解 replaceAll()的作用,但我不理解的其他内容是您可以在其中使用的{em>代码,例如[a-zA-Z]在哪里寻找更多。所以我非常想做报价所说的,只保留字母和标点符号。

2 个答案:

答案 0 :(得分:0)

您描述的过程称为正则表达式或简称正则表达式。它是一种用许多编程语言(包括Java)实现的工具,它允许您使用一行代码处理字符串,否则会更复杂和烦人。

我建议此链接更深入tutorial

答案 1 :(得分:0)

replaceAll()使用正则表达式

在一篇文章中解释太多了,但我会解释一下。

这是一个正则表达式:[^A-Za-z.?!]

  • []表示角色类。它将匹配其中一个包含的字符(由元字符修改)。
  • ^当这是char类中的第一个字符时,它是一个元字符,意思是NOT。
  • A-Z表示范围。这些ASCII / Unicode值之间的任何内容都将匹配
  • .?!被视为文字(在其他情况下,它们可以成为元字符)。

因此,正则引用,如果引用并放入replaceAll(),则会更改所有不是字母,.?!的内容。< / p>

replaceAll()中的第二个参数也接受一些与正则表达式相关的特殊字符,例如$1并不代表$1

在使用$1之前,您需要了解更高级的正则表达式(捕获组)。