[英]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.