[英]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.