Split a character string based on change of character: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 1,209: | Line 1,209: | ||
<lang> |
<lang> |
||
local fn SplitString( inputStr as CFStringRef ) as CFStringRef |
local fn SplitString( inputStr as CFStringRef ) as CFStringRef |
||
CFStringRef resultStr |
CFStringRef resultStr |
||
NSUInteger i |
NSUInteger i |
||
if len( inputStr ) < 2 then resultStr = inputStr : exit fn |
if len( inputStr ) < 2 then resultStr = inputStr : exit fn |
||
resultStr = left( inputStr, 1 ) |
resultStr = left( inputStr, 1 ) |
||
for i = 2 to len( inputStr ) |
for i = 2 to len( inputStr ) |
||
if mid( inputStr, i, 1 ) |
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 ) ) |
resultStr = fn StringWithFormat( @"%@%@", resultStr, mid( inputStr, i, 1 ) ) |
||
next |
next |
||
i = len( resultStr ) - 2 |
i = len( resultStr ) - 2 |
||
resultStr = fn StringByReplacingCharactersInRange( resultStr, fn CFRangeMake( i, 1 ), @"" ) |
resultStr = fn StringByReplacingCharactersInRange( resultStr, fn CFRangeMake( i, 1 ), @"" ) |
||
end fn = resultStr |
end fn = resultStr |
||
Line 1,232: | Line 1,232: | ||
g, HHH, 5, YY, ++, ///, \ |
g, HHH, 5, YY, ++, ///, \ |
||
</pre> |
</pre> |
||
=={{header|Go}}== |
=={{header|Go}}== |