有红宝石方法可以在其他字符串之间选择字符串吗?

MarcRF

我正在开始编程,我正在寻找一个程序来提取文本中两个单词之间包含的所有单词(以便将它们存储在变量中)

例如,使用单词“ START”和“ STOP”:“ START 1 2 3 STOP 5 6 START 7 8 STOP 9 10”

我想存储在变量中:1 2 3 7 8

从下面的代码中可以看到,我开始使用Ruby进行操作,当前的想法是将字符串“ global”转换为数组,然后对string1和string2的位置进行编号;然后使用初始数组#string1 + 1,…string2 -1创建一个数组'string1'。不幸的是,它仅工作一次,因为.index函数仅在第一次出现时起作用...是否会有更好的方法来做到这一点?

预先感谢您的帮助

text = "0 start 2 3 4 stop 6 7 start 9 10 stop 12"

start= text.split(' ')

a = start.index('start')
b = start.index('stop')

puts a
puts b
puts c = start[a+1,b-a-1].join(" ")

# returns 
#1
#5
#2 3 4 ```





坚果

您可以从scan-method和一个正则表达式开始:

text = "0 start 2 3 4 stop 6 7 start 9 10 stop 12"
res1 = text.scan(/start\s*(.*?)\s*stop/) #[["2 3 4"], ["9 10"]]
res2 = res1.flatten #["2 3 4", "9 10"]

或没有中间变量:

res = text.scan(/start(.*?)stop/).flatten #["2 3 4", "9 10"]

说明:

有关扫描方法,请参见https://apidock.com/ruby/String/scan

正则表达式/start\s*(.*?)\s*stop/

  1. 开始
  2. \s*:任何空格字符
  3. (.*?)

    1. ()负责记忆的内容。
    2. .表示任何字符,*表示重复(零个或多个字符),?将结果限制为最短的可能性(有关详细信息,请参见下文)
  4. \s*:任何空格字符

  5. stop

结果是一个命中率为正则表达式的数组。正则表达式可以包含要检测的不同部分(多个()对)。所以它是一个数组数组。在我们的例子中,每个内部数组都有一个元素,因此您可以使用它flatten来获得一个“扁平”数组。

如果不在?正则表达式中使用,则可以找到2 3 4 stop 6 7 start 9 10而不是较短的部分。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在其他列中获取字符串位置吗?

来自分类Dev

在其他特定子字符串之后获取子字符串的最有效方法

来自分类Dev

在其他特定子字符串之后获取子字符串的最有效方法

来自分类Dev

红宝石反向字符串与unshift

来自分类Dev

红宝石当零或空字符串

来自分类Dev

字符串替换红宝石

来自分类Dev

红宝石反向字符串与unshift

来自分类Dev

替换红宝石中的字符串

来自分类Dev

红宝石提取字符串之间的两个字符串

来自分类Dev

红宝石,字符串替换方法的目的

来自分类Dev

输出特定字符串红宝石之间的所有内容

来自分类Dev

有什么方法可以检查字符串中是否包含其他字符?

来自分类Dev

使用preg_replace删除字符串。还有其他选择吗?

来自分类Dev

除了计数,还有其他方法可以计算字符串中的重复次数吗?

来自分类Dev

如何替换字符串中匹配的字符?(红宝石)

来自分类Dev

如何在其他字符串之间使用/删除仅数字集?

来自分类Dev

包含反斜杠的字符串无法在其他字符串中找到

来自分类Dev

使用else字符串中的字符串并在其他视图中显示

来自分类Dev

Java,在其他地方的数组中使用字符串吗?

来自分类Dev

Java正则表达式或其他在字符串和该字符串其他部分之间查找字符串的方法

来自分类Dev

红宝石字符串中所有选定字符替换的可能组合

来自分类Dev

从字符串中删除所有特殊字符-红宝石

来自分类Dev

红宝石字符串定界符中“%{}”,“%Q {}”和“%q {}”之间的差异

来自分类Dev

在轨道上的红宝石中获取两个支架之间的子字符串

来自分类Dev

红宝石字符串定界符中的'%{}','%Q {}','%q {}'之间的差异

来自分类Dev

我可以在String.format中预编译格式字符串吗?(或者还有其他方法可以使格式化日志更快吗?)

来自分类Dev

红宝石字符串运算符

来自分类Dev

红宝石从字符串中删除反斜杠

来自分类Dev

如何删除红宝石字符串中的反斜杠

Related 相关文章

  1. 1

    我可以在其他列中获取字符串位置吗?

  2. 2

    在其他特定子字符串之后获取子字符串的最有效方法

  3. 3

    在其他特定子字符串之后获取子字符串的最有效方法

  4. 4

    红宝石反向字符串与unshift

  5. 5

    红宝石当零或空字符串

  6. 6

    字符串替换红宝石

  7. 7

    红宝石反向字符串与unshift

  8. 8

    替换红宝石中的字符串

  9. 9

    红宝石提取字符串之间的两个字符串

  10. 10

    红宝石,字符串替换方法的目的

  11. 11

    输出特定字符串红宝石之间的所有内容

  12. 12

    有什么方法可以检查字符串中是否包含其他字符?

  13. 13

    使用preg_replace删除字符串。还有其他选择吗?

  14. 14

    除了计数,还有其他方法可以计算字符串中的重复次数吗?

  15. 15

    如何替换字符串中匹配的字符?(红宝石)

  16. 16

    如何在其他字符串之间使用/删除仅数字集?

  17. 17

    包含反斜杠的字符串无法在其他字符串中找到

  18. 18

    使用else字符串中的字符串并在其他视图中显示

  19. 19

    Java,在其他地方的数组中使用字符串吗?

  20. 20

    Java正则表达式或其他在字符串和该字符串其他部分之间查找字符串的方法

  21. 21

    红宝石字符串中所有选定字符替换的可能组合

  22. 22

    从字符串中删除所有特殊字符-红宝石

  23. 23

    红宝石字符串定界符中“%{}”,“%Q {}”和“%q {}”之间的差异

  24. 24

    在轨道上的红宝石中获取两个支架之间的子字符串

  25. 25

    红宝石字符串定界符中的'%{}','%Q {}','%q {}'之间的差异

  26. 26

    我可以在String.format中预编译格式字符串吗?(或者还有其他方法可以使格式化日志更快吗?)

  27. 27

    红宝石字符串运算符

  28. 28

    红宝石从字符串中删除反斜杠

  29. 29

    如何删除红宝石字符串中的反斜杠

热门标签

归档