我有一个两个字符的字符串。当字符串被分组在一起时,我需要将它们分成一小群字符。假设我的弦是 "xxyyxyxyyyyyxyxyyyyyyyxyyxyyyyyxyyyyyyyxyyy"
我现在需要一个数组,一个列表,任何读起来像: [["xx"],["yy"],["x"],["y"],["x"],["yyyyy"],["x"],["y"],["x"],["yyyyyyy"],["x"],["yy"],["x"],["yyyyy"],["x"],["yyy"],[""],["yyyy"],["x"],["yyy"]]
我需要保持顺序,因为我会迭代它,然后在集群中进行相应的更改。我就是找不到办法。
4条答案
按热度按时间7rfyedvj1#
例如,如果有字母“x”和“y”,则可以使用regexp模式
(x+| y+)
找到你的群集。
如果正则表达式有特殊字符,如“+”或“.”,则需要在此解决方案中对其进行筛选:
r8uurelv2#
您只需要从头到尾扫描字符串并检查是否连续
x
s和y
把它们收集起来。ryevplcw3#
你可以用一个for循环扫描字符串。只需检查前面的字符。如果它们相同,请继续,否则将上一个子字符串添加到结果中。你可以使用指针变量,比如
start
它表示上一个子串从何处开始。下面的代码也适用于除x
以及y
.代码段:
demo:httpshttp://onlinegdb.com/skrqmaqqu
qyswt5oh4#
编辑:看看某个家伙的答案,比我的答案好多了。
如果需要,somedude的答案可以概括为任意数量的符号: