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 ) <> mid( inputStr, i - 1, 1 ) then resultStr = fn StringWithFormat( @"%@, ", 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 ) )
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}}==