Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查字符串是否按英文以外语言的字母顺序排列_Python_Text_Unicode_Nlp - Fatal编程技术网

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。