我正在尝试将Unicode字符串拆分为所有可能的拆分
此代码将提供所有字符排列 英文字符串,但不是unicode
def allperm(inputstr):
for i in range(len(inputstr)):
yield(inputstr[i])
for s in allperm(inputstr[:i] + inputstr[i+1:]):
yield(inputstr[i] + s)
例如,
സമരക്കാര്ക്കാരുടെ
സമ #രക്കാര്ക്കാരുടെ
സമര#ക്കാര്ക്കാരുടെ
സമരക്കാ#ര്ക്കാരുടെ
例如英文
running can be sliced to
ru # nning
run #ning
runn#ing
此Unicode字符串需要以其所有字符组合进行切片
我知道string.split()
和import re
除了这两种方法之外,还有什么办法可以拆分吗?
答案 0 :(得分:1)
您可以使用字节切片,例如
a = "സമരക്കാര്ക്കാരുടെ".encode('utf-8')
a
=> '\xc3\xa0\xc2\xb4\xc2\xb8\xc3\xa0\xc2\xb4\xc2\xae\xc3\xa0\xc2\xb4\xc2\xb0\xc3\xa0\xc2\xb4\xc2\x95\xc3\xa0\xc2\xb5\xc2\x8d\xc3\xa0\xc2\xb4\xc2\x95\xc3\xa0\xc2\xb4\xc2\xbe\xc3\xa0\xc2\xb4\xc2\xb0\xc3\xa0\xc2\xb5\xc2\x8d\xc3\xa2\xc2\x80\xc2\x8d\xc3\xa0\xc2\xb4\xc2\x95\xc3\xa0\xc2\xb5\xc2\x8d\xc3\xa0\xc2\xb4\xc2\x95\xc3\xa0\xc2\xb4\xc2\xbe\xc3\xa0\xc2\xb4\xc2\xb0\xc3\xa0\xc2\xb5\xc2\x81\xc3\xa0\xc2\xb4\xc2\x9f\xc3\xa0\xc2\xb5\xc2\x86'
a[:2]
=> '\cx3\xa0'
a[2:4]
=> '\xc2\xb4'