我想根据标记来变换输入字符串。从字符串中删除一串非特定字符的方法
因此,("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