Artyom Lazovikov Asked:2020-01-31 18:25:18 +0000 UTC2020-01-31 18:25:18 +0000 UTC 2020-01-31 18:25:18 +0000 UTC strip 方法(或任何其他 str 方法)可以从开头和结尾删除一定数量的元素吗? 772 例子。 из строки '"""asd"""' нужно получить '""asd""' strip('"', 1) python 2 个回答 Voted Korwin Arekin 2020-01-31T18:43:31Z2020-01-31T18:43:31Z 这可以通过标准索引访问来完成 : st = 'hhhtttkkk' st2 = st[1:-1] Best Answer insolor 2020-01-31T19:06:41Z2020-01-31T19:06:41Z 没有这样的方法。如果你不推广到任意数量的字符,而是一次删除一个,那么你可以这样做(只有在行首或行尾的字符才会被删除): def strip_once(s, chars=' '): if s and s[0] in chars: s = s[1:] if s and s[-1] in chars: s = s[:-1] return s 我很久以前写过这个函数:po.py 如果您需要它并指示特定的 n,那么您可以使用正则表达式: import re def strip_n(s, chars, n=1): # Формируем регулярное выражение вида r"^[abc]{,n}(.*?)[abc]{,n}$" regex = r"^[{chars}]{{,{n}}}(.*?)[{chars}]{{,{n}}}$".format(chars=chars, n=n) return re.search(regex, s).group(1) print(strip_n('"""asd"""', '"', 2)) print(strip_n('"""asd"', '"', 2)) print(strip_n('asd', '"', 2)) 结论: "asd" "asd asd
这可以通过标准索引访问来完成 :
没有这样的方法。如果你不推广到任意数量的字符,而是一次删除一个,那么你可以这样做(只有在行首或行尾的字符才会被删除):
我很久以前写过这个函数:po.py
如果您需要它并指示特定的 n,那么您可以使用正则表达式:
结论: