|
本帖最后由 wp8680 于 2013-9-10 23:43 编辑
总结为:(省略词“第一个非重复字符”)
1.逐个字符,查在其后面是否存在,不存在的,则是,否则下一个字符。InStr(st2, st1) = 0
2.逐个字符,从前查和从后查,所得的位置一样的,则是,否则继续查下一个。InStr(s, Mid(s, i, 1)) = InStrRev(s, Mid(s, i, 1))
3.逐个替换字符,如果替换前后的字符数相差一个,则是,否则继续循环下一个。Len(s) - Len(Replace(s, Mid(s, i, 1), "")) > 1
4.逐个字符进行分列,所得列的维数为2列的,则是,否则继续分列。UBound(Split(s, Mid(s, i, 1))) > 1
5.工作表函数法,逐个取出字符对比MID(A1,TRANSPOSE(ROW(INDIRECT("1:"&LEN(A1)))),1)=MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),当其中一个字符与每个字符对比下来只有一个时MMULT(……,……)=1,此字符所在位置MIN(IF((……)=1,ROW(……),99)),就用MID(A1,……,1)得出。
|
|