首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >给定整型参数Python时的字符串操作

给定整型参数Python时的字符串操作
EN

Stack Overflow用户
提问于 2018-06-03 03:02:49
回答 1查看 105关注 0票数 2

我正在操作一个SVG文件。我有这个字符串作为样式

代码语言:javascript
运行
复制
'.cls-1{fill:#755841;}.cls-2{fill:#f7c394;}.cls-3{fill:#9b7657;}.cls- 
4{fill:#7f6145;}.cls-5{fill:#ffc9a1;}.cls-6{fill:#ffcd98;}.cls- 
7{fill:#3d0c0c;}.cls-8{fill:#fff;}.cls-9{fill:#313cc4;}'

我想创建一个接收输入的函数,例如14,并将此字符串更改为从输入开始的数字。例如,这里的类将从14 +1= 15开始,以此类推:

代码语言:javascript
运行
复制
'.cls-15{fill:#755841;}.cls-16{fill:#f7c394;}.cls-17{fill:#9b7657;}.cls- 
18{fill:#7f6145;}.cls-19{fill:#ffc9a1;}.cls-20{fill:#ffcd98;}.cls- 
21{fill:#3d0c0c;}.cls-22{fill:#fff;}.cls-23{fill:#313cc4;}'

我真的不确定什么是最好的方法。是正则表达式吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-03 03:31:01

您可以使用re的函数sub

代码语言:javascript
运行
复制
import re
def increment_value_in_string (s, inc_value):
    return re.sub('(?<=\.cls-)\d*',lambda m: str(inc_value+int(m.group(0))),s)

string = '.cls-1{fill:#755841;} ... '
increment_value = 14
new_string = increment_value_in_string(string, increment_value)

查找.cls-子串之后的任何数字\d*,然后使用函数lambda m: str(inc_value+int(m.group(0)))替换,其中m.group(0)是包含找到的数字的字符串

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50660221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档