Python如何删除字符串中指定子串'(U.S'左侧的所有字符
Python 通用字符串截断实现(删除指定子串左侧全部字符)
核心实现思路:通过字符串内置方法定位目标锚点子串的起始位置,直接从该位置切片保留后续内容,完全不受锚点左侧的字符类型、字符长度影响。
实现代码
def cut_left_of_anchor(origin_str: str, anchor: str) -> str: """ 删除原始字符串中指定锚点子串左侧的全部字符 :param origin_str: 待处理的原始字符串 :param anchor: 定位用的锚点子串 :return: 处理后的字符串,找不到锚点时返回原字符串 """ anchor_start_idx = origin_str.find(anchor) # 找不到锚点时直接返回原字符串,避免报错 if anchor_start_idx == -1: return origin_str return origin_str[anchor_start_idx:] # 测试示例 if __name__ == "__main__": test_str = "NOMIGO* TATRA RR ER RR RR RA EEE E RR KH Dollars (U.S. $547,560.00" target_anchor = "(U.S" processed_str = cut_left_of_anchor(test_str, target_anchor) print(processed_str)
运行效果
上述测试用例的输出结果为:(U.S. $547,560.00
逻辑说明
- 用
str.find()方法获取锚点第一次出现的起始下标,时间复杂度低,不需要做复杂的正则匹配 - 自带容错处理:如果原始字符串里不存在指定锚点,不会抛出索引错误,直接返回原始字符串
- 通用性极强:锚点左侧可以是任意内容、任意长度,只要锚点本身准确就能正确截断;后续如果需要换其他锚点做截断,只需要传入新的锚点参数即可,不需要修改核心逻辑
内容的提问来源于stack exchange,提问作者Leads4life
相关产品推荐
相关产品推荐

