有没有一种简单的方法可以使用正则表达式反转子字符串?

弗朗西斯科·博伊

我正在操作一些包含数字和字符的字符串。输入字符串是这样的elementX5elementX50等等。我知道如何改变它们elements_10elements_100用下面的代码等:

import re

inp = ["elementX5asdl", "elementX50al;smd;l", "elementX500laknsd", "elementX5000aknsd"]
for el in inp:
    tmp_usr_str = re.search("elementX50*", el).group()
    tmp_usr_str = re.sub(r"elementX", "elements_", tmp_usr_str)
    tmp_usr_str = re.sub(r"\d+", lambda x: str(2*int(x.group())), tmp_usr_str)
    print(tmp_usr_str)

我想更进一步,将包含数字的子字符串与包含字母的子字符串反转以获得类似的内容:10_elements100_elements等等。

我知道我可以拆分字符串然后再次组合它,但是有没有使用正则表达式的更优雅的方法,可能将命令嵌入到已经存在的行之一中?

维克多·斯特里比尤夫

使用捕获组:

import re

inp = ["elementX5asdl", "elementX50al;smd;l", "elementX500laknsd", "elementX5000aknsd"]
for el in inp:
    tmp_usr = re.search("elementX50*", el)
    if tmp_usr:
        tmp_usr_str = tmp_usr.group()
        tmp_usr_str = re.sub(r"(element)X(\d+)", lambda x: "{}_{}s".format(str(2*int(x.group(2))), x.group(1)), tmp_usr_str)
        print(tmp_usr_str)

请参阅Python 演示输出:

10_elements
100_elements
1000_elements
10000_elements

细节

  • tmp_usr = re.search("elementX50*", el) - 提取您需要的子字符串
  • re.sub(r"(element)X(\d+)", lambda x: "{}_{}s".format(str(2*int(x.group(2))), x.group(1)), tmp_usr_str)- 匹配并捕获element到组 1 并\d+捕获到组 2 之后的一位或多位数字X,在 lambda 表达式中,交换连接它们的组值_并附加s在末尾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种简单的方法可以使用vbscript将字符串转换为数学表达式?

来自分类Dev

有没有一种简单的方法可以使用vbscript将字符串转换为数学表达式?

来自分类Dev

有没有一种方法可以使用C#8开关表达式来返回字符串值?

来自分类Dev

有没有一种方法可以简化正则表达式匹配字符?

来自分类Dev

有没有一种有效的方法来查找满足给定正则表达式的字符串?

来自分类Dev

正则表达式中有没有一种方法可以检查某个单词是否在定义的两个位置之一中出现在字符串中?

来自分类Dev

在Oracle 8上的Sentence Case中是否有一种简单的方法来转换字符串?还是应该使用正则表达式?

来自分类Dev

有没有一种方法可以形成此正则表达式,以使可选组不会出现在匹配组中?

来自分类Dev

有没有一种使用正则表达式格式化kendo网格列的方法?

来自分类Dev

有没有一种方法可以在Python 2中使用带有正则表达式的memoryview?

来自分类Dev

Xcode:有没有一种方法可以在断点中定义的表达式中搜索字符串?

来自分类Dev

有没有一种方法可以使序列号字符串不使用for循环?

来自分类Dev

有没有一种方法可以使用vim键在Java中操纵字符串?

来自分类Dev

有没有一种方法可以读入文件,使用正则表达式替换并输出文件,而不会弄乱行尾和无效字符?

来自分类Dev

有没有一种方法可以只替换Java匹配器正则表达式中的一个捕获组?

来自分类Dev

有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

来自分类Dev

有没有一种方法可以让iOS的自动更正忽略UITextView中的单个单词或正则表达式?

来自分类Dev

Python中有没有一种方法可以创建在正则表达式中匹配的组件的元组?

来自分类Dev

有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

来自分类Dev

有没有一种有效的方法可以在 php 中的更大的正则表达式替换中运行子正则表达式替换语句

来自分类Dev

MATLAB-有没有一种方法可以使用多个字符串进行字符串比较

来自分类Dev

有没有一种方法可以使用Scala编译器对布尔表达式进行类型检查?

来自分类Dev

有没有一种方法可以使此Regex表达式不那么贪婪。使用Excel VBA

来自分类Dev

有没有一种方法可以使用lambda表达式在NameValueCollection中查找非空值

来自分类Dev

有没有一种简单的方法可以将小数格式化为sql中的字符串

来自分类Dev

有没有一种简单的方法可以将小数格式化为sql中的字符串

来自分类Dev

有没有一种简单的方法可以在 JavaScript 中用空字符串替换 NaN?

来自分类Dev

有没有一种方法可以使用gsub替换字符串中的一系列字符?

来自分类Dev

有没有一种方法可以使用gsub替换字符串中的一系列字符?

Related 相关文章

  1. 1

    有没有一种简单的方法可以使用vbscript将字符串转换为数学表达式?

  2. 2

    有没有一种简单的方法可以使用vbscript将字符串转换为数学表达式?

  3. 3

    有没有一种方法可以使用C#8开关表达式来返回字符串值?

  4. 4

    有没有一种方法可以简化正则表达式匹配字符?

  5. 5

    有没有一种有效的方法来查找满足给定正则表达式的字符串?

  6. 6

    正则表达式中有没有一种方法可以检查某个单词是否在定义的两个位置之一中出现在字符串中?

  7. 7

    在Oracle 8上的Sentence Case中是否有一种简单的方法来转换字符串?还是应该使用正则表达式?

  8. 8

    有没有一种方法可以形成此正则表达式,以使可选组不会出现在匹配组中?

  9. 9

    有没有一种使用正则表达式格式化kendo网格列的方法?

  10. 10

    有没有一种方法可以在Python 2中使用带有正则表达式的memoryview?

  11. 11

    Xcode:有没有一种方法可以在断点中定义的表达式中搜索字符串?

  12. 12

    有没有一种方法可以使序列号字符串不使用for循环?

  13. 13

    有没有一种方法可以使用vim键在Java中操纵字符串?

  14. 14

    有没有一种方法可以读入文件,使用正则表达式替换并输出文件,而不会弄乱行尾和无效字符?

  15. 15

    有没有一种方法可以只替换Java匹配器正则表达式中的一个捕获组?

  16. 16

    有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

  17. 17

    有没有一种方法可以让iOS的自动更正忽略UITextView中的单个单词或正则表达式?

  18. 18

    Python中有没有一种方法可以创建在正则表达式中匹配的组件的元组?

  19. 19

    有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

  20. 20

    有没有一种有效的方法可以在 php 中的更大的正则表达式替换中运行子正则表达式替换语句

  21. 21

    MATLAB-有没有一种方法可以使用多个字符串进行字符串比较

  22. 22

    有没有一种方法可以使用Scala编译器对布尔表达式进行类型检查?

  23. 23

    有没有一种方法可以使此Regex表达式不那么贪婪。使用Excel VBA

  24. 24

    有没有一种方法可以使用lambda表达式在NameValueCollection中查找非空值

  25. 25

    有没有一种简单的方法可以将小数格式化为sql中的字符串

  26. 26

    有没有一种简单的方法可以将小数格式化为sql中的字符串

  27. 27

    有没有一种简单的方法可以在 JavaScript 中用空字符串替换 NaN?

  28. 28

    有没有一种方法可以使用gsub替换字符串中的一系列字符?

  29. 29

    有没有一种方法可以使用gsub替换字符串中的一系列字符?

热门标签

归档