python字符串中的转义字符处理_处理字符串中的转义字符

我需要转换用户输入的字符串。该用例非常简单:当字符串中有分号时,字符串被拆分为多行。在

当一行中有两个分号时,它们被转换成一个分号。在

理论上,没什么大问题。我使用Python,但是我相信其他语言的人会发现正则表达式很容易做到这一点。在import re

def get_lines(text):

"""Return a list of lines (list of str)."""

command_stacking = ";"

delimiter = re.escape(command_stacking)

re_del = re.compile("(?

chunks = re_del.split(text)

# Clean the double delimiters

for i, chunk in enumerate(chunks):

chunks[i] = chunk.replace(2 * command_stacking, command_stacking)

return chunks

这似乎奏效了:

^{pr2}$

但是当有三个或四个分号时,它的行为并不像预期的那样。在

正则表达式会忽略多个分号(这是它们应该忽略的),但是当将;;替换为;时,;;;将被{}替换,;;;;将被{}替换,依此类推。如果2被1取代,3被2取代,4被3取代。。。这是我可以向我的用户解释的。在

最好的解决办法是什么?在

谢谢你的帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值