如何在python中剪切字符串的特定部分

2024-04-19 11:09:41 发布

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

我正在寻找一种用正则表达式剪切字符串的方法

例如,如果我有以下字符串

abcde.dhsjd.djshdj.(2019).(14856p).abdjskf

我想得到:

 abcde dhsjd djshdj 2019

我已经有追随者了

    file_sub = re.sub(r'[\.()]+', ' ', file)
    split_file= re.split(r'[\d+]', file)

当我运行我的代码时,它在4位数之前被切断。 像这样:

 abcde dhsjd djshdj

你知道怎么修吗?你知道吗


Tags: 方法字符串代码refilesplit位数abcde
1条回答
网友
1楼 · 发布于 2024-04-19 11:09:41

re.sub与回调函数一起使用:

inp = "abcde.dhsjd.djshdj.(2019).(14856p).abdjskf"
def cb(m):
    return m.group(1).replace('.', ' ') + m.group(2)

output = re.sub('^(.*?)\((\d+)\).*$', cb, inp)
print(output)

这张照片:

abcde dhsjd djshdj 2019

这里的策略是在两个单独的捕获组中匹配第一个点分隔的部分和年份。然后,在回调函数中,我们用空格替换点并连接在一起。你知道吗

相关问题 更多 >