检查字符串是否为英语以外语言的字母顺序
Check whether a string is alphabetical for languages other than english
我正在处理混合了多种语言的文本数据。现在尝试测试 token/string 是否按字母顺序排列,这意味着可能是一个单词。
是否有像 'somestring'.isAlpha()
这样的内置函数来测试一个字符串对于其他语言(葡萄牙语和西班牙语)是否按字母顺序排列?我尝试了 'ó'.isalpha()
,其中 returns False
。
我现在想到的是获取Unicodetable。找到起始和结束字母并测试字母是否在字母表范围内。
这能解决您的问题吗?
>>> u'é'.isalpha()
True
仅供参考,以下示例在 Python 3:
中完美运行
words = ['você', 'quer', 'uma', 'maçã']
for word in words:
word.isalpha()
在 python 2 中,您可以这样做:
for word in words:
unicode(word, "utf-8").isalpha()
这个库也不是来自 NLTK,但肯定有帮助。
1) 安装 langdetect 库
$ pip 安装 langdetect
支持 Python 版本 2.6、2.7、3.x。
2) 测试您的代码
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> detect("Ein, zwei, drei, vier")
'de'
参考Link:
我正在处理混合了多种语言的文本数据。现在尝试测试 token/string 是否按字母顺序排列,这意味着可能是一个单词。
是否有像 'somestring'.isAlpha()
这样的内置函数来测试一个字符串对于其他语言(葡萄牙语和西班牙语)是否按字母顺序排列?我尝试了 'ó'.isalpha()
,其中 returns False
。
我现在想到的是获取Unicodetable。找到起始和结束字母并测试字母是否在字母表范围内。
这能解决您的问题吗?
>>> u'é'.isalpha()
True
仅供参考,以下示例在 Python 3:
中完美运行words = ['você', 'quer', 'uma', 'maçã']
for word in words:
word.isalpha()
在 python 2 中,您可以这样做:
for word in words:
unicode(word, "utf-8").isalpha()
这个库也不是来自 NLTK,但肯定有帮助。
1) 安装 langdetect 库 $ pip 安装 langdetect
支持 Python 版本 2.6、2.7、3.x。
2) 测试您的代码
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> detect("Ein, zwei, drei, vier")
'de'
参考Link: