python - left 删除字符串中第二个数字之前的任何内容
问题描述
a = "some rubish 2 some more rubish 2403 some street address, TX 4377435"
这是一些带有一些额外信息的地址字符串,我想去掉街道号码之前的所有内容,街道号码始终是右边的第二个号码。我想要输出为
"2403 some street address, TX 4377435"
到现在为止我可以想出这个
special_char = '!@#$%^&*()-_=+,./\\;:<>?{}[]| '
ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
a = "some rubish 2 some more rubish 2403 some street address, TX 77630409"
a.lstrip(ascii_letters+special_char)
这给出了输出
2 some more rubish 2403 some street address, TX 77630409
解决方案
这是一个正则表达式拆分选项。我们可以在后面跟一个数字的任何空格处拆分输入字符串(使用前瞻来避免消耗该数字)。然后,拼接前两个元素并保留其余元素。最后,通过重新引入空格连接回单个字符串。
a = "some rubish 2 some more rubish 2403 some street address, TX 4377435"
parts = re.split(r'[ ](?=\d)', a)
print(' '.join(parts[2:])) # 2403 some street address, TX 4377435
推荐阅读
- android - android片段中的Razorpay回调不起作用
- php - 如何使用 php mysqli 从存储在单个数据库列中的图像数组中删除和更新单个图像?
- javascript - 使用 React-select 设置多个选定值
- scheme - 计划过程异常:参数数量不正确
- html - 内容出现在引导页脚上
- javascript - 根据Javascript中列值的总和在javascript中重新创建数组
- powerbi - Power BI with SQL Analysis Services:如何从“字段”中“隐藏”所有未使用的表
- android - 导航抽屉内的底部导航栏
- javascript - 我如何计算更改时的输入值,并且它应该显示默认值结果?
- algorithm - 微小的 URL 系统设计