簡體   English   中英

如何從python中的字符串中刪除空格,換行符等

[英]How to remove white space, line breaks etc from a string in python

有一個下面的輸出,並想刪除空格和換行符。

\n', '    var [3:0] apple [1:0];\n', '    int mango;\n', '    float banana [5:0];\n', '    int lichi;\n', '  

我嘗試了下面的代碼,但它不起作用。 任何評論/更正?

print str(str(re.sub('[^A-Za-z0-9[:]]+[\r\n]+', ' ', str(match_group_t[i]))))
print re.sub(r"(?<=[a-z])\r?\n"," ", match_group_t[i]) 

留下您的評論以進行任何更正!

預期輸出是:只有var [3:0] apple [1:0], int mango, float banana [5:0], int lichi. 這樣我就可以將類型和名稱分別存儲在一個數組中並稍后使用。 喜歡

variable data in an array: [apple, var, lelem, [3:0], rleme, [1:0]]

您可以在re.sub使用表達式:

(?:[;\n']|\s{2,})
  • (?:非捕獲組
    • [;\\n']字符; , \\n'
    • | 或者
    • \\s{2,}空格,兩個或多個。
  • )關閉非捕獲組。

蟒蛇代碼:

import re
mystr = "\n', '    var [3:0] apple [1:0];\n', '    int mango;\n', '    float banana [5:0];\n', '    int lichi;\n', '  "

print(re.sub(r"(?:[;\n']|\s{2,})",r'',mystr)[2:])

打印所需的輸出:

var [3:0] apple [1:0], int mango, float banana [5:0], int lichi, 

考慮使用內置的isspace而不是正則表達式。

newstring = ''.join(ch for ch in oldstring if not ch.isspace())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM