首页 > 解决方案 > 如何在python中删除子字符串

问题描述

我有一个字符串,其中日期和时间根据报告而变化。

String = "Engine NOrc04/14/20 11:24XX5555-May-2021" 

我想删除“04/14/20 11:24”,因为每次生成报告时它都会改变。

output = "Engine NOrcXX5555-May-2021"

标签: pythonstringsubstring

解决方案


切片

如果字符串的格式没有改变,您可以按如下方式对字符串进行切片:

string = "Engine NOrc04/14/20 11:24XX5555-May-2021"
new_string = string[:11] + string[25:]
print(new_string)

string = "Engine NOrc04/14/20 11:24XX5555-May-2021 report contains below information..."
new_string = string[:11] + string[25:]
print(new_string)

输出

Engine NOrcXX5555-May-2021
Engine NOrcXX5555-May-2021 report contains below information...

使用正则表达式

如果时间出现在字符串的不同部分,但时间的格式没有改变,可以使用re.sub()替换时间字符串:

import re

string = 'Engine NOrc04/14/20 11:24XX5555-May-2021 report contains below information...'
new_string = re.sub('\d\d/\d\d/\d\d \d\d:\d\d', '', string)
print(new_string)

string = 'SOME OTHER RANDOM STRING 04/14/20 11:24 THIS IS A DIFFERENT STRING'
new_string = re.sub('\d\d/\d\d/\d\d \d\d:\d\d', '', string)
print(new_string)

输出:

Engine NOrcXX5555-May-2021 report contains below information...
SOME OTHER RANDOM STRING  THIS IS A DIFFERENT STRING

推荐阅读