Split a character string based on change of character: Difference between revisions

Content added Content deleted
Line 1,209: Line 1,209:
<lang>
<lang>
local fn SplitString( inputStr as CFStringRef ) as CFStringRef
local fn SplitString( inputStr as CFStringRef ) as CFStringRef
NSUInteger i
CFStringRef resultStr
unichar chr, lastChr = fn StringCharacterAtIndex( inputStr, 0 )
NSUInteger i
CFMutableStringRef resultStr = fn MutableStringWithCapacity(0)

if len( inputStr ) < 2 then resultStr = inputStr : exit fn
resultStr = left( inputStr, 1 )
for i = 0 to len( inputStr ) - 1
for i = 2 to len( inputStr )
chr = fn StringCharacterAtIndex( inputStr, i )
if ( chr != lastChr ) then MutableStringAppendString( resultStr, @", " )
if fn StringIsEqual( mid( inputStr, i, 1 ), mid( inputStr, i - 1, 1 ) ) == NO then resultStr = fn StringWithFormat( @"%@, ", resultStr )
resultStr = fn StringWithFormat( @"%@%@", resultStr, mid( inputStr, i, 1 ) )
MutableStringAppendString( resultStr, mid( inputStr, i, 1 ) )
lastChr = chr
next
next
i = len( resultStr ) - 2
resultStr = fn StringByReplacingCharactersInRange( resultStr, fn CFRangeMake( i, 1 ), @"" )
end fn = resultStr
end fn = resultStr