2011-03-04 51 views
7

如何檢查字符串中的新行?如何在Python 3.x中檢查字符串中的新行?

python3.x有沒有類似於java的常規操作,其中直接if (x=='*\n')會工作?

+0

我希望的解決方案,以檢查_any_一種新行的不只是unix風格。 – ThorSummoner 2015-07-24 18:48:19

+0

注意:[有多個可能被識別爲換行符的Unicode字符](https://docs.python.org/3/library/stdtypes.html#str.splitlines) – jfs 2015-11-26 17:55:15

+1

@ThorSummoner:Python默認使用通用換行模式即,特定於平臺的換行符(例如'\ r \ n'')在輸入時被翻譯爲''\ n'',反之''\ n''在輸出時被翻譯爲'os.linesep'。如果你不關心Unicode換行符,在大多數情況下,'\ n''是你所需要的。 – jfs 2015-11-26 17:56:54

回答

23

如果你只是想檢查一個換行符(\n)時,你可以使用Python的in運營商來檢查,如果它在一個字符串:

>>> "\n" in "hello\ngoodbye" 
True 

...或作爲if的一部分聲明:

if "\n" in foo: 
    print "There's a newline in variable foo" 

在這種情況下,您不需要使用正則表達式。

+0

作爲補充,如果你想知道如果字符串以'\ n'結尾,你應該這樣做「\ n」== foo [-1] – 2011-03-04 13:59:12

+0

謝謝。有效。 – change 2011-03-04 15:14:57

+0

@XavierCombelle:'foo.endswith('\ n')'更具可讀性。 – jfs 2015-11-26 17:59:29

9

是的,是這樣的:

if '\n' in mystring: 
    ... 

(Python中確實有正則表達式,但他們在這種情況下是矯枉過正。)

+0

是的,我意識到當你閱讀文檔.. – change 2011-03-04 15:15:32

相關問題