任务如下:创建一个函数,给出一个字符串,仅存储字母 A-Z(大小写)、0-9 数字和空格字符。如果记录类型不是字符串,还返回“不是字符串!”。我创建了这样一个函数 - 它通过了所有测试
Вот тестовые строки
'\x0c3U\x0c P \' /j<c\t M+# ~ \x0bh ^m ?g?-\t#-t +m"0\x0cjvk Ez'
'><#qY= / YbxSltf? GIi(+dl\r .?%E4\r?2\r D'
'r%Q 0 \x0cIYpK IssqER%. ;<*/\x0c9l bC8\'[:\x0b|Z EX!R{" BWP(xTn [B >'
import re
def nothing_special(st):
if not isinstance(st, str):
return "Not a string!"
pattern = r'[A-Za-z0-9 /\n/\t/\r/\x0b/\x0c]'
st = st.replace('/', '')
match = re.findall(pattern, re.escape(st))
if match:
res = ''.join(match)
return res
return ''
无法从创建的正则表达式中删除“斜杠”
我必须使用 st = st.replace('/', '') 告诉我如何在正则表达式中执行此操作!是否可以删除以下字符:
/ просто "слеш"
/\n/\t/\r/\x0b/\x0c - без экранирования
перенос строки
вертикаль. табуляцию
каретку
нечитаемые символы
这里最好使用
re.sub()并删除(用空字符串替换)非AZ 字符(大小写)、0-9 数字和空格字符。