首页 > 解决方案 > Scala:交换字符串中每个字符的大小写

问题描述

使用 Scala 我想获取初始字符串的子字符串并交换每个字符的大小写,以便大写字母变为小写,小写变为大写。

var swapCase = buffer.substring(lwr, upr).to?OTHER?Case

我过去使用过 .toUpperCase 和 .toLowerCase 命令,想知道是否有类似的命令可以只交换大小写,而不必遍历循环中的每个字符并评估需要对每个字符执行哪些操作,即:

if(char(x).isUpperCase){char(x).toLowerCase}

else if(char(x).isLowerCase){char(x).toUpperCase}

简而言之,有没有一种非常快速的方法可以用“。”来做到这一点。命令而不是写多行。

标签: scala

解决方案


这与您将获得的一样好:

def swapCase(s: String): String =
  s.map(ch => if (ch.isLower) ch.toUpper else ch.toLower)

推荐阅读