我有一個字符串作爲蟒蛇刪除字符串1個選項卡中的字符串
"This is a small \t\t world"
假設字符串在單詞之間2個標籤「小」和「世界」。我如何可以修剪標籤空間之一,使我得到:
"This is a small \t world"
詞語「小」和「世界」只能一次在句子中出現。基本上給出了兩個具體的話,我想修剪它們之間的額外的標籤
我有一個字符串作爲蟒蛇刪除字符串1個選項卡中的字符串
"This is a small \t\t world"
假設字符串在單詞之間2個標籤「小」和「世界」。我如何可以修剪標籤空間之一,使我得到:
"This is a small \t world"
詞語「小」和「世界」只能一次在句子中出現。基本上給出了兩個具體的話,我想修剪它們之間的額外的標籤
使用re
...
import re
s = b"This is a small world"
s = re.sub(r'(.*\bsmall *)\t+(*world\b.*)', r'\1\t\2', s)
print s
輸出:
>>>
This is a small world
這將讓所有的空格前後兩tabs
。
def remove_tab(st, word1, word2):
index1 = st.find(word1)
index2 = st[index1:].find(word2)
replacement = st[index1:index2].replace('\t\t', '\t')
return st[:index1] + replacement + st[index2:]
使用regex
:
In [114]: def func(st,*words):
rep=" \t ".join(words)
reg="\b%s\s?\t{1,}\s?%s\b"%(words[0],words[1])
return re.sub(reg,rep,st)
.....:
In [118]: strs='This is \t\t\t a small\t\t\tworld, very small world?'
In [119]: func(strs,"small","world")
Out[119]: 'This is \t\t\t a small \t world, very small world?'
In [120]: func(strs,"is","a")
Out[120]: 'This is \t a small\t\t\tworld, very small world?'
也許會在裏面扔'\ b'? ''小\世界案例''。 – DSM
@DSM很好的建議,解決方案更新。 –
你怎麼想確定?它是否必須位於「小」和「世界」之間?在字符串的末尾?這是不明確的。 –
請檢查我的編輯。我只想在小詞和世界詞之間移除標籤。我不希望任何其他選項卡被替換 – arjun
請澄清什麼定義了重要的選項卡,那麼字符串「small \ t \ t world small \ t \ t world」呢?那麼''小富吧\世界吧'呢? –