Skip to main content
 首页 » 编程设计

python之从 python 中的 unicode 字符串中删除换行符的问题

2025年05月04日20开发

我有一段 Unicode 文本。我想在打印输出之前从文本中删除所有换行符。我的代码看起来像这样:

input_string = u'\u3010JK\u3011\u9032\u5b66\u306b\u56f0\u3063\u305f\uff2a\uff2b\u304c\u5148\u751f\u306b\u52a9\u3051\u3066\u3082\u3089\u3046\u305f\u3081\u306b\uff33\uff25\uff38\uff01.mov' 
output_string = ' '.join(input_string.splitlines()) 
print output_string 

我希望库方法能够处理所有脏换行 uncicode 字符大小写。但是,看起来此方法不会从给定的输入中删除换行符。请提出从给定输入中删除换行符的解决方案。

请您参考如下方法:

根据我的 Python,您的字符串不包含 Cc(控制字符)类别的字符:

>>> unicodedata.category(u'\n') in map(unicodedata.category, input_string) 
False 

所以这个字符串中没有换行符。 unicodedata.name 证实了这一点:

>>> for c in s: print unicodedata.name(c) 
...  
LEFT BLACK LENTICULAR BRACKET 
LATIN CAPITAL LETTER J 
LATIN CAPITAL LETTER K 
RIGHT BLACK LENTICULAR BRACKET 
CJK UNIFIED IDEOGRAPH-9032 
CJK UNIFIED IDEOGRAPH-5B66 
HIRAGANA LETTER NI 
CJK UNIFIED IDEOGRAPH-56F0 
HIRAGANA LETTER SMALL TU 
HIRAGANA LETTER TA 
FULLWIDTH LATIN CAPITAL LETTER J 
FULLWIDTH LATIN CAPITAL LETTER K 
HIRAGANA LETTER GA 
CJK UNIFIED IDEOGRAPH-5148 
CJK UNIFIED IDEOGRAPH-751F 
HIRAGANA LETTER NI 
CJK UNIFIED IDEOGRAPH-52A9 
HIRAGANA LETTER KE 
HIRAGANA LETTER TE 
HIRAGANA LETTER MO 
HIRAGANA LETTER RA 
HIRAGANA LETTER U 
HIRAGANA LETTER TA 
HIRAGANA LETTER ME 
HIRAGANA LETTER NI 
FULLWIDTH LATIN CAPITAL LETTER S 
FULLWIDTH LATIN CAPITAL LETTER E 
FULLWIDTH LATIN CAPITAL LETTER X 
FULLWIDTH EXCLAMATION MARK 
FULL STOP 
LATIN SMALL LETTER M 
LATIN SMALL LETTER O 
LATIN SMALL LETTER V