Split() 在 python 中跳过换行符
Split() skips NewLine in python
Note: In File "\n" is used for New Line its length is 1 and "\n" is used for string "\n" its length is two.
当我在 Line.split()
之后给出 Line="Some thing\n"
时,它会给出单词列表 ["Some","thing"] 并跳过 \n
它不会给出 thing\n
。我没有使用 strip()
函数,它默认使用它。普通的 strip() 函数用于从行尾跳过 \n
。
check.txt:
abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc
abc abc abc
我的代码是:
fileread=open("check.txt","r")
for line in fileread:
print("Line:",line , "lenght :",len(line))
words=line.split() #It Skip NewLine by Default
print("Words List in Line:",words)
输出:
Line: abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc
lenght : 68
Words List in Line: ['abc', 'abc', 'abc', '\\n', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc']
Line:
lenght : 1
Words List in Line: []
Line: abc abc abc
lenght : 12
Words List in Line: ['abc', 'abc', 'abc']
我的问题是,拆分功能是否可以默认去除行中的特殊字符?
为什么 Line:"\n" 不创建列表 ["\n"] 而它创建空列表 []
Split() 函数 在 Link
中按 default.Description 拆分所有这些字符
Representation Description
\n Line Feed
\r Carriage Return
\r\n Carriage Return + Line Feed
\v or \x0b Line Tabulation
\f or \x0c Form Feed
\x1c File Separator
\x1d Group Separator
\x1e Record Separator
\x85 Next Line (C1 Control Code)
\u2028 Line Separator
\u2029 Paragraph Separator
Python代码为
>>> data= "dsddddd\ndasdasd\ndasdasdas\nasfsafs\n"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data="aaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaa"
>>> print(data.split())
['aaaaaaaaaaa', 'aaaaaaaaaaaa', 'aaaaaaaaaa']
>>> data= "dsddddd\rdasdasd\rdasdasdas\rasfsafs\r"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data= "dsddddd\u2029dasdasd\u2029dasdasdas\u2029asfsafs\u2029"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>>
Note: In File "\n" is used for New Line its length is 1 and "\n" is used for string "\n" its length is two.
当我在 Line.split()
之后给出 Line="Some thing\n"
时,它会给出单词列表 ["Some","thing"] 并跳过 \n
它不会给出 thing\n
。我没有使用 strip()
函数,它默认使用它。普通的 strip() 函数用于从行尾跳过 \n
。
check.txt:
abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc
abc abc abc
我的代码是:
fileread=open("check.txt","r")
for line in fileread:
print("Line:",line , "lenght :",len(line))
words=line.split() #It Skip NewLine by Default
print("Words List in Line:",words)
输出:
Line: abc abc abc \n abc abc abc abc abc abc abc abc abc abc abc abc abc
lenght : 68
Words List in Line: ['abc', 'abc', 'abc', '\\n', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc', 'abc']
Line:
lenght : 1
Words List in Line: []
Line: abc abc abc
lenght : 12
Words List in Line: ['abc', 'abc', 'abc']
我的问题是,拆分功能是否可以默认去除行中的特殊字符? 为什么 Line:"\n" 不创建列表 ["\n"] 而它创建空列表 []
Split() 函数 在 Link
中按 default.Description 拆分所有这些字符Representation Description
\n Line Feed
\r Carriage Return
\r\n Carriage Return + Line Feed
\v or \x0b Line Tabulation
\f or \x0c Form Feed
\x1c File Separator
\x1d Group Separator
\x1e Record Separator
\x85 Next Line (C1 Control Code)
\u2028 Line Separator
\u2029 Paragraph Separator
Python代码为
>>> data= "dsddddd\ndasdasd\ndasdasdas\nasfsafs\n"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data="aaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaa"
>>> print(data.split())
['aaaaaaaaaaa', 'aaaaaaaaaaaa', 'aaaaaaaaaa']
>>> data= "dsddddd\rdasdasd\rdasdasdas\rasfsafs\r"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>> data= "dsddddd\u2029dasdasd\u2029dasdasdas\u2029asfsafs\u2029"
>>> print(data.split())
['dsddddd', 'dasdasd', 'dasdasdas', 'asfsafs']
>>>