python2.7中包含元音变音的字符串分割

2024-10-01 17:36:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图分割包含元音变音(德语字符)的字符串,但分割后它是编码的元音字符。请看下面。在

>>> k = 'A|B|C|AT|Dxbensäce|S|'  
>>> re.split('\|\w+\|',k)  

['A','C','Dxbens\xc3\xa4ce','']

我需要得到如下输出:
['A'、'C'、'Dxbensäce'、'']

请提出建议。在

我还需要补充一些要点。
我需要将上面的字符串拆分并存储到列表中,并将此值与其他列表值进行比较(相同的值将添加到第二个列表中)。
由于第一个列表值转换为unicode,比较失败。
注意:这里我不打印值。我知道通过使用print我可以得到正确的元音值。 第一个列表值用split语句填充,第二个列表值应为硬编码值。在


Tags: 字符串re编码列表字符建议atsplit
2条回答

而不是直接处理字符串的问题:

In [1]: k = 'A|B|C|AT|Dxbensäce|S|'  
In [3]: k
Out[3]: 'A|B|C|AT|Dxbens\xc3\xa4ce|S|'
In [9]: print(k)
A|B|C|AT|Dxbensäce|S|
  1. 使用unicode类型来处理文本,而不是bytestrings(python2上的str)。使用u''unicode文本或在模块顶部添加from __future__ import unicode_literals
  2. 不要混淆对象及其文本表示(repr())。 打印Python列表会对其项调用repr()。要以ascii字符显示不可打印(在Python2上),请自己格式化列表,例如:

    print ":".join(some_list)
    

无关:如果Python源代码中有非ascii文本字符(例如,u'ä'),那么您应该确保编辑器/IDE遵守编码声明(顶部的# -*- coding: utf-8 -*-行),并使用指定的字符编码来保存Python源文件。在

下面是一个完整的代码示例:

^{pr2}$

输出

A:C:Dxbensäce:

相关问题 更多 >

    热门问题