Java 字符串处理

判空

  • isNotEmpty(str)等价于 str != null && str.length > 0
  • isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0
  • isEmpty 等价于 str == null || str.length == 0
  • isBlank 等价于 str == null || str.length == 0 || str.trim().length == 0

String 转化为其他类型

String 转Int,以此类推。

  • toInt

原始格式

保留字符串的原始格式,使用三个引号(”””…”””)

  1. var str = """
  2. hello
  3. world
  4. i love you
  5. println(str)
  6. """

则会输出:Kotlin 字符串 - 图1

注:这种情况下,不可以使用转义符

在字符串中插入变量

  1. fun main(args: Array<String>) {
  2. val s = "runoob"
  3. val str = "$s.length is ${s.length}" // 求值结果为 "runoob.length is 6"
  4. println(str)
  5. }

注:当我们需要在字符串中加入一个变量时,我们需要这样用:”字符串”$变量又注:如果需要在字符串中加入一个表达式时,我们需要这样用:”字符串$${表达式}”

输出$

  1. val str = "android.view.View/${'$'}ListenerInfo"
  2. System.out.println(str)

注:即用${‘$’}替代$

移除字符串的局部

删除前缀
  1. val str = "你好呀,小傻瓜"
  2. val strRemoveFirst = str.removePrefix("你好呀")
  3. //如果字符串前缀为“你好呀”,则返回一个无该前缀的字符串,否则返回自身
  4. println(strRemoveFirst)
删除后缀
  1. val strRemoveLast = str.removeSuffix("小傻瓜")
  2. //如果字符串的后缀为"小傻瓜",则返回一个无该后缀的字符串,否则返回自身
  3. println(strRemoveLast)
删除相同的前后缀
  1. val strRemoveLastAndFirst = str.removeSurrounding("你")
  2. //如果字符串的前缀和后缀均为“你”,则返回一个删除该前缀和后缀的字符串,否则返回自身
  3. println(strRemoveLastAndFirst)

重复字符串

  1. val str = "你好呀"
  2. val repeatStr = str.repeat(3)
  3. println(repeatStr)

输出:你好呀你好呀你好呀

切割为String数组

根据长度进行切分
  1. str.chunked(2)

如:

  1. val str = 1234567890
  2. str.chunked(2)

输出: [12,34,56,78,90]

根据关键字符进行切分
  1. str.split()

注:和java一致,无需赘叙