[英]Python split string by space and strip newline char
我在python中有一個字符串,如下所示:
d4 c3 b2 a1 02 00 04 00 00 00 00 00 00 00 00 00
ff ff 00 00 01 00 00 00 00 00 00 00 00 00 00 00
36 00 00 00 36 00 00 00 00 1c 23 10 f8 f1 00 1b
17 01 10 20 08 00 45 00 00 28 df 27 40 00 80 06
2b 87 c7 08 1a 0a 0a 05 05 0a 5c ea 5c ea c2 1f
我跳過了很多行。 我想把每個數字放在一個列表中。 當我使用.split()時,它返回一個不僅僅是數字的列表,還有空格和'\\ n'的列表,因為矩陣中間有兩個空格,並且每行的末尾都有換行符號。 所以我得到了:
['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '', '00', …, '\nff', 'ff', '00'…]
我只是希望數字在列表中,而不是其他任何東西,任何人都知道如何做到這一點? 感謝您提前的時間。
如果你使用.split(" ")
,那么你的程序將在每個空格上分割,而不是在任何其他空格上。 如果使用.split()
代替,程序將考慮多個空格,換行符,制表符和所有其他形式的空格。 這應該可以幫到你找到你想要的東西。
>>> teststr = "a v w ef sdv \n wef"
>>> print teststr
a v w ef sdv
wef
>>> teststr.split()
['a', 'v', 'w', 'ef', 'sdv', 'wef']
>>> teststr.split(" ")
['a', '', '', 'v', 'w', '', '', 'ef', 'sdv', '', '', '\n', '', '', 'wef']
python字符串文檔包含大量可以對字符串執行的操作。
奇怪的是,如上面提到的TheSoundDefense, .split()
並沒有消除你所有的空白。
要刪除換行符,請嘗試使用.replace(<target>,<replacement>)
方法,如下所示:
a = '11 11 11 11 11 11 11 11 \n22 22 22 22 22 22 22 22 \n'
b = a.replace('\n',' ')
c = b.split()
print c
>>> ['11', '11', '11', '11', '11', '11', '11', '11', '22', '22', '22', '22', '22', '22', '22', '22']
使用不帶任何參數的split()
將拆分任何空格上的內容,並將幾個空格組合在一起。
這是一個例子:
s = """d4 c3 b2 a1 02 00 04 00 00 00 00 00 00 00 00 00
ff ff 00 00 01 00 00 00 00 00 00 00 00 00 00 00
36 00 00 00 36 00 00 00 00 1c 23 10 f8 f1 00 1b
17 01 10 20 08 00 45 00 00 28 df 27 40 00 80 06
2b 87 c7 08 1a 0a 0a 05 05 0a 5c ea 5c ea c2 1f"""
data = s.split()
在這種情況下, data
將如下所示:
['d4', 'c3', 'b2', 'a1', '02', '00', '04', '00', '00', '00', '00', '00', '00', '00', '00', '00', 'ff', 'ff', '00', '00', '01', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '36', '00', '00', '00', '36', '00', '00', '00', '00', '1c', '23', '10', 'f8', 'f1', '00', '1b', '17', '01', '10', '20', '08', '00', '45', '00', '00', '28', 'df', '27', '40', '00', '80', '06', '2b', '87', 'c7', '08', '1a', '0a', '0a', '05', '05', '0a', '5c', 'ea', '5c', 'ea', 'c2', '1f']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.