任何人都知道我怎麼能找到被空格包圍的中心的字符?Python檢測被空格包圍的字符
1 + 1
我希望能夠在+
在中間分開的if/else語句的使用。
對不起,如果我不太清楚,我是一個Python初學者。
任何人都知道我怎麼能找到被空格包圍的中心的字符?Python檢測被空格包圍的字符
1 + 1
我希望能夠在+
在中間分開的if/else語句的使用。
對不起,如果我不太清楚,我是一個Python初學者。
我認爲你正在尋找類似split()
的方法,默認情況下會在空白處分割。
假設我們有一個字符串s
s = "1 + 1"
chunks = s.split()
print(chunks[1]) # Will print '+'
謝謝!你能檢測一個字符串有多少塊? – MasterHolbytla
沒問題!你可以使用'len(塊)'來獲得你擁有的塊數。 –
您可以使用正則表達式:
s="1 + 1"
a=re.compile(r' (?P<sym>.) ')
a.search(s).group('sym')
這個正則表達式將檢測用空格包圍的單個字符,如果字符是一個加或減或多或div標誌:r' ([+-*/]) '
。請注意撇號內的空格。括號在中間「捕捉」角色。如果您需要識別不同的字符集,請更改括號內的集合。
如果您之前沒有處理正則表達式,請閱讀re
模塊。它們對於簡單的文本處理非常有用。這裏的兩個相關特徵是「字符類」(我的例子中的方括號)和「捕獲圓括號」(圓括號)。
不知道有多少空格分隔的核心人物,那麼我會使用以下方法:
s = '1 + 1'
middle = filter(None, s.split())[1]
print middle # +
的split
作品由扎克提供的解決方案,但如果有比一個單一的空間更大,那麼返回的列表將會包含一堆''
元素,我們可以使用filter(None,)
函數將其刪除。
然後這只是一個提取你的第二個元素的問題。
檢查它在行動,在https://eval.in/636622
如果我們看它一步一步,那麼這裏就是如何使用Python的控制檯的所有作品:
>>> s = '1 + 1'
>>> s.split()
['1', '+', '', '', '1']
>>> filter(None, s.split())
['1', '+', '1']
>>> filter(None, s.split())[1]
'+'
import re
def find_between(string, start_=' ', end_=' '):
re_str = r'{}([-+*/%^]){}'.format(start_, end_)
try:
return re.search(re_str, string).group(1)
except AttributeError:
return None
print(find_between('9 * 5', ' ', ' '))
你的問題」不是個清除,你需要一些正則表達式的解決方案? –