如何从开头和结尾删除空格?分词器(split='[.!?]')

问题描述

tokenizer = Tokenizer(split='[.!?]') #create a token based on sentences
tokenizer.fit_on_texts(df['Cleaned'].values)
X_data = tokenizer.texts_to_sequences(df['Cleaned'].values)
X_sequ = pad_sequences(X_data)

我得到了带有空格的令牌列表,比如blow #让我们看看前 10 个文本序列

list(tokenizer.word_index)[:10]

输出如下

[' rnfbdhl yis',' oromoon bilisoomsiteeti jirti',' namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']

如何自动删除开头和结尾的空格? 请帮忙?

解决方法

您可以在 python 中使用 re 尝试正则表达式。就这样吧,脱字符号告诉我们字符串的开头,美元是字符串的结尾,\s+ 表示一个或多个空格。所以正则表达式意味着,用''(无)替换字符串开头或结尾的每个空格(一个或多个)。如果它对您有用,请告诉我。

import re
[re.sub(r'^\s+|\s+$','',item) for item in list(tokenizer.word_index)]

使用给定的字符串:

x = [' rnfbdhl yis',' oromoon bilisoomsiteeti jirti',' namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']

输出

[re.sub(r'^\s+|\s+$',item) for item in x]
['rnfbdhl yis','oromoon bilisoomsiteeti jirti','namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']