首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >替换java中的连续重复字符

替换java中的连续重复字符
EN

Stack Overflow用户
提问于 2017-04-25 16:23:04
回答 2查看 5.7K关注 0票数 2

我正在做twitter数据的规范化工作。推特用户经常使用诸如ts I looooooove这样的术语来强调爱这个词。我想把这些重复的字符替换成一个合适的英文单词,直到我得到一个合适的有意义的单词(我意识到我不能通过这种机制来区分上帝和善)。

我的策略是

  1. 识别这种重复字符串的存在。我会寻找超过2个相同的字符,因为可能没有超过两个重复字符的英语单词。

String[]字符串={“”,"good","OK","boolean","mee","claaap“};string regex = "(a-z)\1{2,}";pattern Pattern = Pattern.compile(regex);for (String : String ){ matcher Matcher = pattern.matcher(string);if (matcher.find()) { System.out.println(string+”TRUE ");}}

  • 在像Wordnet

  • Replace这样的词典中搜索除两个这样的重复字符之外的所有单词,如果词典中不存在,请检查词典

  • ,删除多一个重复字符(否则视为拼写错误)。

由于我的Java知识很差,我无法处理3和4。问题是我不能替换所有的字符,只能替换两个重复的连续字符。以下代码片段将替换除一个重复字符以外的所有字符System.out.println(data.replaceAll("([a-zA-Z])\\1{2,}", "$1"));

需要帮助才能找出A。如何替换除2个连续重复字符之外的所有字符B。如何从A的输出中删除多一个连续字符我认为B可以通过以下代码片段进行管理

代码语言:javascript
复制
System.out.println(data.replaceAll("([a-zA-Z])\\1{1,}", "$1"));

编辑:由Wiktor Stribiżew提供的解决方案在Java中完美工作。我想知道在python中需要做哪些更改才能得到相同的结果。Python使用re.sub。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43605292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档