簡體   English   中英

Python按空格分割字符串並剝離換行符

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

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