如何提取 python 字符串中的单词
How To extract words in a python string
我有很多字符串如下所示:
Einwohnerzahl
244.951
StudierendeamHochschulort
[...]
单词现在以“\n”分隔。
如何在单独的列表中分隔整个单词和数字?因为我得到了很多不完全相同的字符串,所以我正在寻找一种解决方案,它可以处理变化,例如字符串中单词/数字的不同位置或缺失的单词/数字。
最终解决方案:
第一步我使用
cleaned_string = re.sub('['+string.punctuation+']', '', cleanstring).split()
生成以下输出:
print(cleaned_string)
['Einwohnerzahl', '244951', 'StudierendeamHochschulort', '57573', 'Studierendenanteil']
之后我正在使用
_re_digits = re.compile(r"(-?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+)))")
pure_zahlen = []
for element in cleaned_string:
pure_zahlen += [ float(n) for n in _re_digits.findall(element)]
和
pure_text = [x for x in cleaned_string if not (x.isdigit() or x[0] == '-' and x[1:].isdigit())]
从列表中分离文本和数字 cleaned_string。
这给了我
print(pure_zahlen)
[41532.0, 2902.0, 70.0, 3739.0, 151319.0]
和
print(pure_text)
['Einwohnerzahl', 'StudierendeamHochschulort', 'Studierendenanteil']
使用这个:
s = 'apple\nbanana' #any phrase that you like
print(s.split('\n'))
输出:
['apple', 'banana']
如果你想把它分开words/phrases:
s = 'apple\nbanana'
for i in s.split('\n'):
print(i)
输出:
apple
banana
假设您有字符串 myString
,这里是您实现目标的方法:
myString = """Einwohnerzahl
244.951
StudierendeamHochschulort"""
results = [i.strip() for i in myString.split("\n") if i != '']
print(results)
Output
['Einwohnerzahl', '244.951', 'StudierendeamHochschulort']
我有很多字符串如下所示:
Einwohnerzahl
244.951
StudierendeamHochschulort
[...]
单词现在以“\n”分隔。 如何在单独的列表中分隔整个单词和数字?因为我得到了很多不完全相同的字符串,所以我正在寻找一种解决方案,它可以处理变化,例如字符串中单词/数字的不同位置或缺失的单词/数字。
最终解决方案:
第一步我使用
cleaned_string = re.sub('['+string.punctuation+']', '', cleanstring).split()
生成以下输出:
print(cleaned_string)
['Einwohnerzahl', '244951', 'StudierendeamHochschulort', '57573', 'Studierendenanteil']
之后我正在使用
_re_digits = re.compile(r"(-?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+)))")
pure_zahlen = []
for element in cleaned_string:
pure_zahlen += [ float(n) for n in _re_digits.findall(element)]
和
pure_text = [x for x in cleaned_string if not (x.isdigit() or x[0] == '-' and x[1:].isdigit())]
从列表中分离文本和数字 cleaned_string。
这给了我
print(pure_zahlen)
[41532.0, 2902.0, 70.0, 3739.0, 151319.0]
和
print(pure_text)
['Einwohnerzahl', 'StudierendeamHochschulort', 'Studierendenanteil']
使用这个:
s = 'apple\nbanana' #any phrase that you like
print(s.split('\n'))
输出:
['apple', 'banana']
如果你想把它分开words/phrases:
s = 'apple\nbanana'
for i in s.split('\n'):
print(i)
输出:
apple
banana
假设您有字符串 myString
,这里是您实现目标的方法:
myString = """Einwohnerzahl
244.951
StudierendeamHochschulort"""
results = [i.strip() for i in myString.split("\n") if i != '']
print(results)
Output
['Einwohnerzahl', '244.951', 'StudierendeamHochschulort']