正则表达式:我想使用正则表达式来操纵/更改特定短语。

时间:2014-12-17 07:23:01

标签: java android regex

我有以下字符串/文字:

  

今天非常热,即使按照当地的标准,也是唯一的另一个   我们在其余的搜索过程中在采石场发现的化石是   小的,无法辨认的骨头碎片。明天的计划是   在该地区的其他几个采石场进行更多的化石勘探   区域。

我需要遵守这些规则:

  • 所有大于2个字符的单词应在第二个字符后截断,并以字符串“-xx”为后缀;例如,英语单词“the”变为“th-xx”
  • 必须保持资本化
  • 必须保留标点符号,除非它出现在要截断的单词的一部分中

我想使用某种正则表达式来扫描文本并根据上述规则进行更改。这是在Android / Java上,任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用:

String repl = input.replaceAll("\\b([a-zA-Z]{2})[a-zA-Z]+\\b", "$1-xx");

RegEx Demo