2024-04-20 13:48:44 发布
网友
我需要用带有一个前导空格的特殊字符“-”、“(”、“/”来截断字符串,即“-”、“(”、“/”
怎么做
patterns=r'[-/()]' try: return row.split(re.findall(patterns, row)[0], 1)[0] except: return row
上面的代码拾取了所有特殊字符,但没有前导空格
patterns=r'[s-/()]'
这个不行
看起来您希望在第一次出现\s[-(/]模式之前获取字符串的一部分
\s[-(/]
使用
return re.sub(r'\s[-(/].*', '', row)
此代码将在第一次出现空格(\s)后返回row字符串的一部分(不带所有字符),后跟-、(或/([-(/])
\s
row
-
(
/
[-(/]
见regex demo
试试这个模式 patterns=r'^\s[-/()]' 或根据需要删除^
patterns=r'^\s[-/()]'
请尝试此模式patterns = r'\s+-|\s\/|\s\(|\s\)'
patterns = r'\s+-|\s\/|\s\(|\s\)'
看起来您希望在第一次出现
\s[-(/]
模式之前获取字符串的一部分使用
此代码将在第一次出现空格(
\s
)后返回row
字符串的一部分(不带所有字符),后跟-
、(
或/
([-(/]
)见regex demo
试试这个模式
patterns=r'^\s[-/()]'
或根据需要删除^请尝试此模式
patterns = r'\s+-|\s\/|\s\(|\s\)'
相关问题 更多 >
编程相关推荐