我有一个像这样的字符串
var str = "AbCdEfGhIj"
我要切换每个字符大小写,即
将其转换为var str = "aBcDeFgHiJ"
我目前正在下面使用此代码
val bytes = "HEllo WoRLd".toByteArray()
// Swap upper and lower case letters.
for (i in bytes.indices) {
if (bytes[i] >= 'A'.toByte() && bytes[i] <= 'Z'.toByte())
bytes[i] = ('a'.toInt() + (bytes[i] - 'A'.toByte())).toByte()
else if (bytes[i] >= 'a'.toByte() && bytes[i] <= 'z'.toByte())
bytes[i] = ('A'.toInt() + (bytes[i] - 'a'.toByte())).toByte()
}
System.out.print(String(bytes)) // heLLO wOrlD
想知道是否有正则表达式可以做到这一点
答案 0 :(得分:3)
正如评论所说,正则表达式用于匹配而不是更改。
但是问题中的代码可以改进;对于非ASCII字符,它将失败(并且不必要地复杂)。这是一个更优雅的版本,作为{{ start_time }}
上的扩展功能:
String