如果我有一个字符串,例如
我知道可以用
"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"
那么如何按字符拆分字符串呢?
str.scan(/((.)\2*)/).map(&:first)
。 - sawa