簡體   English   中英

python將字符串拆分為具有相同語言字符的字符串

[英]python split string into strings with same language characters

我希望像"hiسلامaliعلی"這樣的分裂字符串變成["hi", "سلام", "ali", "علی"]

初始字符串僅包含英文和波斯字符(有或沒有空格),我想將其拆分為連續的相同語言字符。

有沒有一種簡單的方法從字符串中提取連續的英文字符並拆分重新加載字符?

您可以使用re.split()拆分ASCII字母:

re.split(r'([a-zA-Z]+)', inputstring)

Python 3演示:

>>> inputstring = "hiسلامaliعلی"
>>> re.split(r'([a-zA-Z]+)', inputstring)
['', 'hi', 'سلام', 'ali', 'علی']

將其擴展到完整的Latin-1范圍:

re.split(r'([a-zA-Z\xC0-\xFF]+)', inputstring)

對於Python 2,請確保使用unicode字符串並使用u作為正則表達式的前綴:

re.split(ur'([a-zA-Z\xC0-\xFF]+)', inputstring)

在所有情況下,如果拉丁文本位於開頭或結尾,則在分割字符串時插入空字符串; 你可以刪除這些:

result = [s for s in re.split(r'([a-zA-Z\xC0-\xFF]+)', inputstring) if s]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM