in reply to
How can I do this action WITHOUT split?
Do you recognize that you'll lose specificity (detail) by doing what you specify?
Since $str_no_dash has a charset of just three alphabetic characters, while $str_with_dash has at least 5 times as many distinct alphas (I didn't use a regex to count for me and I ran out of fingers... ) that the processing you specify is a one-way system. That means there'll be no way to pass on all the detail in $str_with_dash nor to recover all that detail from the result of the processing.