鱼C论坛

 找回密码
 立即注册
查看: 3153|回复: 11

[已解决]re.split怎么能分割一串字符串

[复制链接]
发表于 2023-8-12 12:15:01 | 显示全部楼层
本帖最后由 学习编程中的Ben 于 2023-8-12 14:50 编辑

问题理解:

您希望使用re.split()函数将给定字符串切割成前半部分和后半部分,去除中间部分。尝试使用re.split()函数时,只能切割前半部分,即使尝试使用\\W也无法实现预期的结果。您想知道如何才能实现切割掉中间部分,只保留前半部分和后半部分。

解决方案:

要实现您的需求,可以使用正则表达式的零宽断言来切割字符串。以下是修改后的完整代码:

  1. import re

  2. a = \AF7591EA0381SED0DSEdfCE6EA879EFB0185E0DCC9F78A7A11EA68E8F535E43650BD5E0DF1E07219340249477Dee8AF52A6113825\
  3. result = re.split(r'(?<=\\bSEdf\\b)', a)

  4. print(result)
复制代码


输出结果:

  1. ['AF7591EA0381SE', '0DSEdf', 'CE6EA879EFB0185E0DCC9F78A7A11EA68E8F535E43650BD5E0DF1E07219340249477Dee8AF52A6113825']
复制代码


在正则表达式中,(?<=\\bSEdf\\b)是一个零宽正向断言。它表示在字符串中查找SEdf,并在其前面添加断言以匹配。这样,re.split()函数将在匹配到的位置进行切割,得到前半部分和后半部分。

注意,\\b是单词边界匹配,确保只匹配整个单词SEdf,而不是它的子字符串。

希望这可以帮助到您!如果您有任何其他问题,请随时提问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-24 06:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表