如何使用正则表达式语法从给定列中的文本中删除“省略号”? [复制]

Posted

技术标签:

【中文标题】如何使用正则表达式语法从给定列中的文本中删除“省略号”? [复制]【英文标题】:How to use regular expression syntax to remove "ellipsis" from text in a given column? [duplicate] 【发布时间】:2019-07-01 19:57:56 【问题描述】:

我正在使用此代码,但它不会删除“省略号”:

Column Review 包含 1500 行文本

Df["Reviews"] = Df['Reviews'].apply(lambda x : " ".join(re.findall('[\w\.]+',x)))

示例文本将是:“经销商说它不向经销商偿还贷款或租金......那么,如果他们制造了有缺陷的汽车,而你在线帮助客户,为什么还要成为经销商”

【问题讨论】:

如果您想添加更多信息,请edit您的问题 试试这个 - ***.com/questions/7208861/… 或尝试在省略号前使用“\”并设置 regex = true。 【参考方案1】:

您可以尝试以下任何一种方式-

REGEX

import pandas as pd
pd.set_option('max_colwidth', 400)
df = pd.DataFrame('Reviews':['dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers'])
df['Reviews'] = df['Reviews'].replace('\.+','.',regex=True)
print(df)

REGEX

import re
regex = r"[.]+"
test_str = "dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers" 
subst = "."
result = re.sub(regex, subst, test_str, 0, re.MULTILINE | re.IGNORECASE)
if result:
    print (result)

REGEX

import re
regex = r"(\W)\1+"
test_str = "dealer said it does not reimburse dealers for loaners or rentals... so why even be a dealership if they make faulty cars and you re on the line to help customers"
subst = "\\1"
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)   
if result:
    print (result)

【讨论】:

有意思,我试试这个 @Saud 我用 pandas 添加了一个新答案,我敦促你尝试一下 请与熊猫分享答案,那会很有趣 @Saud 添加了pandas 的答案,再看看 是的,pandas 工作,谢谢【参考方案2】:

Series.str.replace 应该适用于简单的表达式:

df.Reviews.str.replace("...", "")

【讨论】:

不应该是 regex = True 吗? 它真的不适合我 我认为'\...' 是正确的模式,而@Sid29 .str.replace 默认为regex=True 替换功能根本不起作用【参考方案3】:

如果你想从每一行中删除这个特定的单词,那么你不需要使用 RegEx。您可以使用str.replace,如下所示:How to strip a specific word from a string?

Df["Reviews"] = Df['Reviews'].apply(lambda x:x.replace("ellipsis",""))

【讨论】:

省略号是指“...”

以上是关于如何使用正则表达式语法从给定列中的文本中删除“省略号”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从文本中删除任何给定的字符串对

从字符串 PySpark 数据框列中删除正则表达式

使用正则表达式中的 CSS 突出显示从文件中读取的文本的语法

python 正则表达式

使用正则表达式从 mysql 列中提取子字符串

如何使用正则表达式删除括号内的文本?