Python:string.find('\ n')始终产生-1

时间:2019-06-28 15:13:01

标签: python string

我正在尝试在其中有几个string.find('\n')的字符串上执行'\n'(我正在寻找一行的结尾)。但是,它始终返回-1,并且找不到'\n'。我在做什么错了?

3 个答案:

答案 0 :(得分:1)

find方法不支持正则表达式。您需要re软件包:

import re
m = re.search('\n', string)

更多信息可以在Python docs中找到。

答案 1 :(得分:0)

我的猜测是反斜杠可能会被转义,这意味着换行符实际上可能表示为两个字符:反斜杠和'n'。

要进行测试,请尝试使用string.find('\\n')并检查它是否仍返回-1。

答案 2 :(得分:0)

好吧,因为您没有提供字符串,所以我们假设contents是具有几个\n的字符串。

让我们使用

将所有\n替换为™之类的字符
_contents = contents.replace('\n', '™')

由于您现在要获取行尾数,因此可以使用_contents.find('™')。这将返回编号。行。