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

Content added Content deleted
(Add CLU)
No edit summary
Line 1,507: Line 1,507:
return s
return s
end</lang>
end</lang>

=={{header|Ksh}}==
<lang ksh>
#!/bin/ksh

# Split a character string based on change of character

# # Variables:
#
str='gHHH5YY++///\'
delim=', '

# # Functions:
#
# # Function _splitonchg(str, delim) - return str split by delim at char change
#
function _splitonchg {
typeset _str ; _str="$1"
typeset _delim ; _delim="$2"
typeset _i _splitstr ; integer _i

for ((_i=1; _i<${#_str}+1; _i++)); do
if [[ "${_str:$((_i-1)):1}" != "${_str:${_i}:1}" ]]; then
_splitstr+="${_str:$((_i-1)):1}${_delim}"
else
_splitstr+="${_str:$((_i-1)):1}"
fi
done
echo "${_splitstr%"${_delim}"*}"
}

######
# main #
######

print "Original: ${str}"
print " Split: $(_splitonchg "${str}" "${delim}")"
</lang>
{{out}}<pre>
Original: gHHH5YY++///\
Split: g, HHH, 5, YY, ++, ///, \</pre>


=={{header|M2000 Interpreter}}==
=={{header|M2000 Interpreter}}==