0
讓我們說這是文字輸入去除連續的空格,但是允許單個空格的正則表達式二郎
Text = "\s\n\t\s\s\n\t\s\n\s\s Hello\n\n\n\n\n\n\n\n\s\s\t\t\s\t Hello \s\s\n\n\n\t\s\s\s\n\t"
我只想刪除連續(空格或換行或製表符),但保留單的人也換行,隨後通過空間應\ N代替......我想輸出是
"Hello\nHello"
我已經試過這遠遠
RemoveTrails = re:replace(Text, "(^\\s+)|(\\s+$)", "", [global,{return,list}]),
Singlenewline = re:replace(RemoveTrails, "(\\n{2,})", "\n", [global,{return,list}]),
TrimmedText = re:replace(Singlenewline, "(\\s{2,})", "\s", [global,{return,list}])
這給了我輸出
"Hello\n \t\t \t Hello"
我不能走的更遠......我想應該有一個簡單的方法來達到預期的輸出...請指導我在此
那麼,'\ s'是一個有效的字符,但它不是一個空白字符。不要將'\ s'與空格的字符代碼混淆;它是一個正則表達式中的字符*類*,覆蓋空格和製表符(以及多行中的換行符)。另外,請注意我如何不在'[\ r \ n]'中對斜槓進行雙重轉義;這裏沒有必要。 –
感謝您糾正和幫助我湯羹d'Campbells ...但現在的輸出是「你好\ n \ n \ n \ n你好」... – user27841
@ user27841 - 我得到輸出「你好\ n你好」;確保你得到了一切(包括多行選項) –