Python,上下文相关的字符串替换
是否可以使用正则表达式在Python中执行类似的操作?
将字符串中的每个数字字符加 1
所以输入“123ab5”将变为“234ab6”
我知道我可以迭代字符串并手动增加每个字符(如果它是数字),但这似乎不符合Python标准。
笔记。这不是家庭作业。我已经将我的问题简化到听起来像家庭作业的水平。
Is it possible to do something like this in Python using regular expressions?
Increment every character that is a number in a string by 1
So input "123ab5" would become "234ab6"
I know I could iterate over the string and manually increment each character if it's a number, but this seems unpythonic.
note. This is not homework. I've simplified my problem down to a level that sounds like a homework exercise.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
或:
或:
在以下任何一种情况下:
编辑 - 前两个将
9
映射到10
,最后一个将其包装为0
。要将前两个包装为零,您必须将str(int(x) + 1)
替换为str((int(x) + 1) % 10)
or:
or:
In any of these cases:
EDIT - the first two map
9
to a10
, the last one wraps it to0
. To wrap the first two into zero, you will have to replacestr(int(x) + 1)
withstr((int(x) + 1) % 10)
<代码>
<代码>
顺便说一句,使用简单的 if 或使用带有 join+map 的 try-catch eumiro 解决方案对我来说也是更 Pythonic 的解决方案
by the way with a simple if or with try-catch eumiro solution with join+map is the more pythonic solution for me too