Split a character string based on change of character: Difference between revisions
Content deleted Content added
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 |
|||
for i = 0 to len( inputStr ) - 1 |
|||
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 ) |
|||
MutableStringAppendString( resultStr, mid( inputStr, i, 1 ) ) |
|||
lastChr = chr |
|||
next |
|||
i = len( resultStr ) - 2 |
|||
resultStr = fn StringByReplacingCharactersInRange( resultStr, fn CFRangeMake( i, 1 ), @"" ) |
|||
end fn = resultStr |
end fn = resultStr |
||