Python 检查字符串是否按英文以外语言的字母顺序排列
我正在使用多种语言混合处理文本数据。现在尝试测试一个标记/字符串是否按字母顺序排列,这意味着它可能是一个单词。 是否有一些内置函数,如Python 检查字符串是否按英文以外语言的字母顺序排列,python,text,unicode,nlp,Python,Text,Unicode,Nlp,我正在使用多种语言混合处理文本数据。现在尝试测试一个标记/字符串是否按字母顺序排列,这意味着它可能是一个单词。 是否有一些内置函数,如'somestring'.isAlpha(),用于测试字符串是否按字母顺序排列(葡萄牙语和西班牙语)?我尝试了“ó”.isalpha(),它返回False 我现在想到的是得到Unicode表。找到起始字母和结束字母,并测试字母是否在字母表范围内 这能解决你的问题吗 >>> u'é'.isalpha() True 仅供参考,下面的示例在Pytho
'somestring'.isAlpha()
,用于测试字符串是否按字母顺序排列(葡萄牙语和西班牙语)?我尝试了“ó”.isalpha()
,它返回False
我现在想到的是得到Unicode表。找到起始字母和结束字母,并测试字母是否在字母表范围内 这能解决你的问题吗
>>> 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安装程序 支持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'
参考链接:
旁白:如果您使用的是unicode数据,那么您应该真正使用Python 3。这更明智。
“ó”.decode(“utf-8”).isalpha()
,虽然对于某些输入也会失败word.isalpha()
,但它本身不会向用户显示任何输出。。可能print(word.isalpha())
?它将在终端中显示,但是是的,可能。您的Python 2示例不适合我。它正确地打印和编码“κц́а”,并且u“κ́́а”。isalpha()
返回True
,但它不能使用unicode(代码,“utf-8”)。isalpha()
。出于某种原因,python2和python3都认为“́”不是alpha。