关于一个截取字符的问题

有一段重复的字符,比如(蜗居蜗居蜗居蜗居蜗居蜗居蜗居蜗居),或者是其他的,长度不一定,我想截取这样的名字,请问有什么好方法呢?

先取出第一个字 然后找到后面的第一个字 把长度算出来 如:
abcdabcd…………
长度为4
abcd abcd进行比较 如果相同那就截取出来了 如果是
abcdaabcda 那就会发现不等 就把前两个字符截取出来 然后进行搜索 找出长度
abcda abcda
然后再比较 相等就ok了 一次类推