Python正则表达式通过带一个前导空格的特殊字符截断字符串

2024-04-20 13:48:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用带有一个前导空格的特殊字符“-”、“(”、“/”来截断字符串,即“-”、“(”、“/”

怎么做

patterns=r'[-/()]'    
    try: 
        return row.split(re.findall(patterns, row)[0], 1)[0]
    except: 
        return row

上面的代码拾取了所有特殊字符,但没有前导空格

patterns=r'[s-/()]'

这个不行


Tags: 字符串代码rereturnpatternsrowsplit空格
3条回答

看起来您希望在第一次出现\s[-(/]模式之前获取字符串的一部分

使用

return re.sub(r'\s[-(/].*', '', row)

此代码将在第一次出现空格(\s)后返回row字符串的一部分(不带所有字符),后跟-(/[-(/]

regex demo

试试这个模式 patterns=r'^\s[-/()]' 或根据需要删除^

请尝试此模式patterns = r'\s+-|\s\/|\s\(|\s\)'

相关问题 更多 >