如何使用正则表达式从数据框中的阿拉伯文本中删除某个字母?
How to remove a certain letter from an arabic text in a dataframe using regular expressions?
我在数据框中有阿拉伯语文本,我想从所有以此字母开头的单词中删除字母 و
。我尝试这样做:
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'])
但是当我 运行 它时,什么都没有改变。就好像我什么都没做一样!
示例:
输入:هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
期望的输出:هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
您可以使用以下带有单词边界的正则表达式。并使用 </code> 只保留文本的剩余部分。</p>
<pre><code>r"\bو(.*?)\b"
import re
text = """هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي"""
ref = """هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي"""
print(text)
print(ref)
new_text = re.sub(r"\bو(.*?)\b", r'', text)
print(new_text == ref)
هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
True
您需要为正则表达式使用 r 字符串:
space_pattern = r'\bو'
如果没有 r,\b 将被解释为 ASCII 退格字符,不会出现在您的文本中。
我在数据框中有阿拉伯语文本,我想从所有以此字母开头的单词中删除字母 و
。我尝试这样做:
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'])
但是当我 运行 它时,什么都没有改变。就好像我什么都没做一样!
示例:
输入:هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
期望的输出:هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
您可以使用以下带有单词边界的正则表达式。并使用 </code> 只保留文本的剩余部分。</p>
<pre><code>r"\bو(.*?)\b"
import re
text = """هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي"""
ref = """هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي"""
print(text)
print(ref)
new_text = re.sub(r"\bو(.*?)\b", r'', text)
print(new_text == ref)
هيه الهزه الحقيقيه وتخافون الهزه وماتخافون الهزه اعملها نظامكم الهمجي
هيه الهزه الحقيقيه تخافون الهزه ماتخافون الهزه اعملها نظامكم الهمجي
True
您需要为正则表达式使用 r 字符串:
space_pattern = r'\bو'
如果没有 r,\b 将被解释为 ASCII 退格字符,不会出现在您的文本中。