字符串操作不适用于特殊字符
String operations not working with special characters
我打开了一个使用 utf-8 编码的文本文件。我正在尝试对 line[0]
等字符串进行操作,但由于文本文件中的特殊字符,它无法正常工作。大多数时候,它不会 return 任何东西。
import codecs
with codecs.open('test_2014.txt', mode='r', encoding='utf-8') as document:
OnCode = False
for line in document:
conv = line.encode('utf-8')
print conv[0]
如果我用一个文本文件尝试这个:
Hello
!
它将 return H
和 !
。
如果我用一个文本文件尝试这个:
Hello
!
§
它只打印 H
.
您的代码将完整的字符串读入变量 line
中,该变量被编码为 conv
因为这是一个字符串,所以 conv[i]
为您提供了字符串中的一个字符。如果一行中有多个单词,则使用 `split()1
for line in document:
conv = line.encode('utf-8')
print conv[0]
当你在第一行输入Hello时
>>>print conv
Hello
>>>print conv[0]
H
>>> print conv[1]
e
一行中多于一个字
for line in document:
conv = line.encode('utf-8').split(' ')
print conv[0]
当您输入 Hello World
时,您会得到
>>>print conv
Hello World
>>>print conv[0]
Hello
>>> print conv[1]
World
我打开了一个使用 utf-8 编码的文本文件。我正在尝试对 line[0]
等字符串进行操作,但由于文本文件中的特殊字符,它无法正常工作。大多数时候,它不会 return 任何东西。
import codecs
with codecs.open('test_2014.txt', mode='r', encoding='utf-8') as document:
OnCode = False
for line in document:
conv = line.encode('utf-8')
print conv[0]
如果我用一个文本文件尝试这个:
Hello
!
它将 return H
和 !
。
如果我用一个文本文件尝试这个:
Hello
!
§
它只打印 H
.
您的代码将完整的字符串读入变量 line
中,该变量被编码为 conv
因为这是一个字符串,所以 conv[i]
为您提供了字符串中的一个字符。如果一行中有多个单词,则使用 `split()1
for line in document:
conv = line.encode('utf-8')
print conv[0]
当你在第一行输入Hello时
>>>print conv
Hello
>>>print conv[0]
H
>>> print conv[1]
e
一行中多于一个字
for line in document:
conv = line.encode('utf-8').split(' ')
print conv[0]
当您输入 Hello World
时,您会得到
>>>print conv
Hello World
>>>print conv[0]
Hello
>>> print conv[1]
World