我试图在一个包含几个 '\n'
的字符串上执行 string.find('\n')
操作(我正在寻找一行的结尾)。然而,这总是返回 -1,并且无法找到 '\n'
。我做错了什么?
最初的回答:
您可能需要使用双引号而不是单引号来包含 '\n'。例如,使用 string.find("\n")
而不是 string.find('\n')
。
str.find
应该可以很好地处理换行符。 - jirassimok我猜测反斜杠可能被转义了,这意味着你的换行符实际上可能被表示为两个字符:一个反斜杠和一个 'n'。
为了测试,请尝试使用 string.find('\\n')
并检查是否仍然返回 -1。
好的,既然你没有提供字符串,我们假设contents
是一个包含一些\n
的字符串。
让我们用某个字符(比如™)替换所有的\n
。
_contents = contents.replace('\n', '™')
既然你现在想知道有多少行末尾的换行符,你可以使用_contents.find('™')
。这将返回行数。
string.find('\n')
应该能够很好地定位到下一行。你应该检查string
的值。 - chakwok