如何在字符串中切换两个字母?

sam*_*sam 0 scala

我想切换字母的顺序.例如,有一个字符串"abc",输出必须是"bac".你能告诉我怎么做吗?

先感谢您.

ten*_*shi 5

您可以使用String可以IndexedSeq[Char]隐式转换为的事实:

def switch(s: String) = (s take 2 reverse) + (s drop 2)
Run Code Online (Sandbox Code Playgroud)

此函数也适用于小于2个字符的字符串,只需尝试以下操作:

println(switch("abc")) // prints: bac
println(switch("ab")) // prints: ba
println(switch("a")) // prints: a
println(switch("")) // prints: 
Run Code Online (Sandbox Code Playgroud)