我想根據標記來變換輸入字符串。從字符串中刪除一串非特定字符的方法
因此,("Hail Mary #Run quick see\ncd!sawce", ["#", "!"])
將刪除標記後面的所有字符,但直到反斜槓或字符串結束。
該案將成爲("Hail Mary #Run quick see\ncd!sawce", ["#", "!"])
Hail Mary cd
我寫了這個:
def solution(string, markers):
orig = string.strip()
wholeList = []
newString = orig
for char in orig:
for j in markers:
if char == j:
i = orig.index(char)
newString = orig[:i].strip()
wholeList.append(newString)
if char == "\\":
i = orig.index(char)
orig = orig[i:]
return "".join(wholeList)
這對於正則表達式很簡單。 – Barmar
爲什麼它保留'\ ncd'?這裏沒有反斜槓,這是一個換行符。 – Barmar
爲什麼*#之前的空格不包含在輸出中? – trincot