我在数据帧中有阿拉伯文本,我想从所有以该字母开头的单词中删除字母و
。我试着这样做:
def clean(text_string):
space_pattern = 'bو'
parsed_text = re.sub(space_pattern, '', text_string)
return parsed_text
然后:
df['tidy_tweet'] = np.vectorize(clean)(df['tidy_tweet'])
但当我运行它时,什么都没有改变。我好像什么都没做!
示例:
输入:هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
所需输出:هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
您需要为正则表达式使用r-string:
space_pattern = r'bو'
如果没有r,\b将被解释为ASCII BACKSPACE字符,该字符不会出现在文本中。
您可以使用以下带有单词边界的正则表达式。并使用1
只保留文本的剩余部分。
r"bو(.*?)b"
import re
text = """هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي"""
ref = """هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي"""
print(text)
print(ref)
new_text = re.sub(r"bو(.*?)b", r'1', text)
print(new_text == ref)
هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
True