当前位置: 首页 > news >正文

kotlin 中的字符串

一、字符类访问

1、字符串的访问跟js一样,可以使用索引来访问或者直接循环。
fun main() {val a: String = "2024"// 方式一:for (item in a) {println(item) // 输出每一个字符}// 方式二:println("${a[0]}, ${a[1]}, ${a[2]}, ${a[3]}") // 2, 0, 2, 4
}

二、不可变性

1、字符串是不可变的。一旦初始化了一个字符串,就不能改变它的值或者给它赋新值。所有转换字符串的操作都会以一个新的String 对象来返回结果,而保持原始字符串不变。
fun main() {val a: String = "abcd"val b: String = a.uppercase() // 转大写println(a) // abcdprintln(b) // ABCD
}

三、多行字符串

1、多行字符串以 """开始,"""结束,里边可以换行及包含任意文本。
// trimIndent 去掉每一行开头空白,同时也会移除尾部的换行符
fun main() {val a: String = """for (i in 1..10) {println(i)}""".trimIndent()println(a)
}

四、字符串模板

1、以$开头,$变量 或者 ${变量}

fun main() {val a: String = "1"println("a的值:${a}") // a的值:1// 或println("a的值:$a") // a的值:1
}
2、也可以在多行字符串中使用
fun main() {val a = "abc"val b: String = """${a.length}""".trimIndent()println("b:${b}") // b:3
}

五、字符串格式化

1、要按照特定需求格式化字符串,请使用 String.format() 函数。

String.format() 函数接受一个格式字符串和一个或多个参数。格式字符串中包含一个占位符(由 % 表示)用于给定的参数,后面跟着格式说明符。格式说明符是对相应参数的格式化指令,由标志、宽度、精度和转换类型组成。综合起来,格式说明符决定了输出格式的样式。常见的格式说明符包括 %d 用于整数%f 用于浮点数,以及 %s 用于字符串

总结:

String.format() 函数允许你使用特定的格式模式来创建格式化的字符串输出

代码示例1:

fun main() {val name = "abc"val age = 20val str = String.format("name: %s, age: %d", name, age)println(str) // name: abc, age: 20
}

解释:
· %s 是一个占位符,表示字符串类型的值将被插入到这个位置。
· %d 是另一个占位符,用于整数值。
· name 和 age 分别是提供给这两个占位符的实际值。

代码示例2:

指定宽度和对齐

fun main() {val score = 95.5val f = String.format("score: %10.4f", score)println(f) // score:    95.5000
}

解释:
· %10.4f 表示总共占10个字符宽,其中小数点后保留两位。不足部分前面用空格填充,实现右对齐。

http://www.lryc.cn/news/370639.html

相关文章:

  • 网站线上模板建设的优缺点
  • 哲学家进餐问题
  • 无人机遥感在农林信息提取中的实现方法与GIS融合应用
  • 联想测开一面(电话面试)笔试60%
  • 【python】tkinter GUI开发: Button和Entry的应用实战探索
  • sm2证书生成(openssl3.0)
  • java计算年化利率
  • 深入理解ChatGPT工作原理
  • 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)
  • Elasticsearch index 设置 false,为什么还可以被检索到?
  • 169. 多数元素
  • ADS基础教程19 - 电磁仿真(EM)基本概念和实操
  • LabVIEW RT环境中因字符串拼接导致的系统崩溃问题
  • 深层网络:层数多真的更好吗?
  • 【QT5】<知识点> QT常用知识(更新中)
  • 如何将AndroidStudio和IDEA的包名改为分层级目录
  • 北交字节联合提出ClassDiffusion: 使用显式类别引导的一致性个性化生成。
  • 37、matlab矩阵运算
  • 用软件实现的硬件——虚拟机
  • [Shell编程学习路线]--shell中重定向和管道符(详细介绍)
  • Linux命令详解(1)
  • 网工内推 | 深信服、中软国际技术支持工程师,最高13k*13薪
  • 实现卡片的展开缩放动画
  • 实验:贪心算法
  • Python学习笔记12 -- 有关布尔值的详细说明
  • SQL-窗口函数合集
  • 2024 全球软件研发技术大会官宣,50+专家共话软件智能新范式!
  • opencv快速安装以及各种查看版本命令
  • 免费学习通刷课(免费高分)Pro版
  • 线性数据结构-队列