gpt4 book ai didi

ruby - 如何拆分一串重复字符且数量不均匀? ruby

转载 作者:数据小太阳 更新时间:2023-10-29 08:30:57 24 4
gpt4 key购买 nike

如果我有一个字符串,例如 "aabbbbccdddeffffgg",我想将该字符串拆分成这个数组:["aa", "bbbb", "cc", "ddd", "e", "ffff", "gg"],我该怎么做?

我知道 string.split/.../ < 或您放在那里的任何句号,但它不考虑字符串是否不均匀。我正在处理的问题的要点是取两个字符串,看看一个字符串的一行中是否有三个字符,另一个字符串中是否有两个字符。我试过了

  `letter_count_1 = {}
str1.each_char do |let|
letter_count_1[let] = str1.count(let)
end`

但这给出了字符串中每个字符总数的计数,并且一些输入在多个位置随机使用相同的字母,例如 "aabbbacccdba"

那么如何按字符拆分字符串呢?

最佳答案

您可以使用带有反向引用的正则表达式和 scan() 方法:

str = "aabbbbccdddeffffgg"
groups = []
str.scan(/((.)\2*)/) { |x| groups.push(x[0]) }

groups 之后看起来像这样:

["aa", "bbbb", "cc", "ddd", "e", "ffff", "gg"]

关于ruby - 如何拆分一串重复字符且数量不均匀? ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com