是否有一個跨平臺的庫函數可以將多行字符串摺疊爲單行字符串而不會重複空格?python中是否存在字符串摺疊庫函數?
我已經想出了一些下面的代碼片斷,但我想知道是否有一個標準的函數,我可以導入它甚至可能在C中優化?
def collapse(input):
import re
rn = re.compile(r'(\r\n)+')
r = re.compile(r'\r+')
n = re.compile(r'\n+')
s = re.compile(r'\ +')
return s.sub(' ',n.sub(' ',r.sub(' ',rn.sub(' ',input))))
P.S.感謝您的好意見。 ' '.join(input.split())
似乎是贏家,因爲在我的情況下,實際運行速度比搜索替換預編譯的r'\s+'
正則表達式要快兩倍。
爲什麼問題標題中的「跨平臺」?幾乎Python中的所有東西都是跨平臺的,除了操作系統特定的東西。這顯然不是操作系統特定的,除非你省略了某些東西。 – 2009-08-08 20:43:09
好點。我不知道'\ n'字符在Python中是跨平臺的。我認爲'\ n'字面意思是一個特殊的ASCII字符。 – Evgeny 2009-08-09 00:26:01
它確實意味着一個特殊的ASCII字符。這個角色在所有平臺上都是一樣的 - 換行符。 – 2009-08-09 01:28:28