字符串

作者: Mobile_Joy | 来源:发表于2017-06-03 13:46 被阅读0次

字符串

字符串用String类型表示,并且是不可变的。字符串的元素(字符)可以使用字符串索引运算符访问:s[i]。并且可以使用for循环遍历字符串,如:

for(c in str){
   printlin(c)
}

字符串字面值
Kotlin有两种类型的字符串字面值:

  1. 转义字符串
    可以有转义字符:var s = "Hello, World!\n",类似Java中的字符串
  2. 原生字符串,用三个引号(""")分界符括起来,内部没有转义并且可以包含换行和任意其他字符
    输出时会照原样输出,如下面的原始字符串会被照原格式输出到控制台
    val text = """
        for (c in "foo")
        print(c) 
    """

如果你希望让原生字符串输出时,按照某种格式左对齐,那么你可以使用trimMargin()函数去除前导空格:

   val text = """
               |Tell me and I forget. 
        |Teach me and I remember. 
        |Involve me and I learn. 
        |(Benjamin Franklin) 
""".trimMargin()

|默认用作边界前缀,但可以选择其他字符并作为参数传入,比如trimMargin(">")

啥意思呢,就上面的原生字符串,调用trimMargin()函数可以去除|之前的空格,之后的就不管了

字符串模板
字符串可以包含模板表达式,即一些小段代码,会求值并把结果合并到字符串中。
语法:以$开头,由一个简单的名字(已经声明过的变量)构成:

  var i = 10
  val s = "i = $i" //求值结果为"i= 10",相当于$1是占位符,替i所代表的值占位

或者用花括号括起来的引用表达式:

val s = "abc"
val str = "$s.length is ${s.length}" //求值结果为"abc.length is 3",这里字符串模板位花括号内的表达式结果占位

原生字符串同样支持模板,如果你需要在原生字符串中表示字面值$字符(原生字符串中不支持转义),那么你可以:

val price = """
${'$'}9.99
"""
    //或者
val t = '$'
val price = """${t}9.99"""

相关文章

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

  • 2020-09-30字符串

    day8-字符串 字符串的操作 in 和 not in字符串1 in 字符串2 - 判断字符串1是否是字符串...

网友评论

    本文标题:字符串

    本文链接:https://www.haomeiwen.com/subject/edzpfxtx.html