python - Pandas 单词中重复的元音和辅音

标签 python regex pandas

我有以下数据集:

a_df = pd.DataFrame({'id':[1,2,3,4,5],'text':['This was fuuuuun','aaaawesome','Hiiigh altitude','Oops','See you']})

a_df
    id  text
0   1   This was fuuuuun
1   2   aaaawesome
2   3   Hiiigh altitude
3   4   Oops
4   5   See you
有些单词拼错了。一个适用的规则是,如果我看到三个或更多元音或辅音,那么我可以以某种方式确定有一个拼写错误的单词,所以我用''替换那个重复。
所以我试过这个:
a_df['corrected_text'] = a_df['text'].str.replace(r'([a-zA-Z])\\3+','')
但是没有任何变化。我的逻辑是尝试捕捉重复的字母,但我一定是做错了什么。请,任何帮助将不胜感激。

最佳答案

您可以使用

a_df['text'] = a_df['text'].str.replace(r'([a-zA-Z])\1{2,}', r'\1', regex=True)
细节:
  • ([a-zA-Z]) - 捕获 ID 为 1 的组
  • \1{2,} - 组 1 值(\1 是对组 1 值的替换反向引用,确保在 raww 字符串文字中使用它,否则你会双反斜杠)。
  • 关于python - Pandas 单词中重复的元音和辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68673931/

    相关文章:

    python - Pandas - 合并两个具有相同列名的 DataFrame

    python - 使变量全局到python中的多个文件

    java - 使用扫描器 useDelimiter 解析文本

    python - 如何获得包含偶数/奇数/第 k 行总和的新列?

    regex - 如何使用正则表达式检查行是否为空

    java - 在字符串中找到一个 6 位数字

    python - Pandas 数据框的列表列表

    python - matplotlib fill_ Between 面部颜色 alpha 与 边缘颜色 alpha?

    python - 如何用pandas中的条件替换两列?

    python - Mysql似乎无法识别Python中的WHERE语句