当前位置: 首页 > 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个字符宽,其中小数点后保留两位。不足部分前面用空格填充,实现右对齐。

相关文章:

kotlin 中的字符串

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

网站线上模板建设的优缺点

优点: 1.搭建的时间短,在线建站,只需要登录注册然后选择网站模板创建网站即可管理自己的网站后台,就几步操作就可以实现。 2.网站出错率少,因为有很多用户在使用,前期所报出来的问题就已经一一…...

哲学家进餐问题

1.最多允许四个哲学家同时进餐,保证有一个筷子是空闲的,从而保证能有有一个哲学家成功进餐,而不导致死锁 semaphore chopstick[5] {1, 1, 1, 1, 1}, mutex4; Pi(){do{think...P(mutex);P(chopstick[i]);P(chopstick[(i1)%5);eat...V(mutex)…...

无人机遥感在农林信息提取中的实现方法与GIS融合应用

在新一轮互联网信息技术大发展的现今,无人机、大数据、人工智能、物联网等新兴技术在各行各业都处于大爆发的前夜。为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节,逐步摆脱人力依赖;在施肥灌溉环节构建智慧节能系统&a…...

联想测开一面(电话面试)笔试60%

联想测开一面(电话面试)笔试60% 3.21 无自我介绍 基本问项目,问实习 对python自动化测试了解多少 讲一下python中打包和解包的概念 学校无测试相关课程,平时用什么平台去学习的 计算机底层实现原理简要说说(软硬结合&…...

【python】tkinter GUI开发: Button和Entry的应用实战探索

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

sm2证书生成(openssl3.0)

1、下载安装包 https://www.openssl.org/source/openssl-3.0.14.tar.gz 2、解压到指定位置 /appserver/openssl-3.0.14 3、安装依赖包 yum -y install gcc perl make zlib-devel perl-CPAN 4、编译 ./config shared --prefix/appserver/SM make depend make make install 5…...

java计算年化利率

接了业务需求需要计算年化利率, 公式定义: IRR计算 在计算 IRR 时,我们希望找到一个折现率r,使得净现值(NPV)为零。NPV 函数定义如下: NPV ∑ t 0 n C t ( 1 r ) t \text{NPV} \sum_{t0}…...

深入理解ChatGPT工作原理

在人工智能领域,自然语言处理(NLP)技术的飞速发展让机器能够更加自然和人类进行交流。OpenAI的ChatGPT作为当前最受关注的NLP模型之一,其出色的对话能力引起了业界和学术界的广泛关注。本文将深入探讨ChatGPT的工作原理&#xff0…...

在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)

1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制) 文章目录 1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)2. 实现步骤:1. 第一步&#xf…...

Elasticsearch index 设置 false,为什么还可以被检索到?

在 Elasticsearch 中,mapping 定义了索引中的字段类型及其处理方式。 近期有球友提问,为什么设置了 index: false 的字段仍能被检索。 本文将详细探讨这个问题,并引入列式存储的概念,帮助大家更好地理解 Elasticsearch 的存储和查…...

169. 多数元素

题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3]输出:3 …...

ADS基础教程19 - 电磁仿真(EM)基本概念和实操

EM介绍 一、引言二、基本概念1.EM介绍2.Momentum介绍3.FEM介绍4.Substrate介绍 三、创建Layout并进行Momentum仿真1.创建Layout2.添加Microtrip(微带线)3.添加Substrate4.Momentum仿真 四、总结 一、引言 本章节开始介绍EM的基本概念、内容以及实现具体…...

LabVIEW RT环境中因字符串拼接导致的系统崩溃问题

在LabVIEW实时操作系统(RT)环境中运行的应用程序出现字符串拼接后死机的问题,通常涉及内存管理、内存泄漏或其他资源管理问题。以下是一些指导和步骤,帮助解决这个问题: 1. 内存泄漏检测 字符串拼接会在内存中创建新…...

深层网络:层数多真的更好吗?

深层网络:层数多真的更好吗? 在深度学习的世界里,"深度"始终是一个热门话题。随着技术的发展,我们有了越来越多的方法来构建更深的神经网络,这似乎暗示着“层数越多,效果越好”。然而&#xff0…...

【QT5】<知识点> QT常用知识(更新中)

目录 一、更改文本颜色和格式 二、QT容器类 三、字符串与整数、浮点数之间的转换 四、QString常用功能 五、SpinBox的属性介绍 六、滑动、滚动、进度条和表盘LCD 七、时间、日期、定时器 一、更改文本颜色和格式 动态设置字体粗体:QFont对象的setBold方法动态…...

如何将AndroidStudio和IDEA的包名改为分层级目录

新版UIAndroidStudio 1、点击项目目录右上角如图所示的三个点点。 2、然后依次取消Hide empty middle package ,Flatten package的勾选 3、注意:一定要先取消hide的勾选,不然目录不会完全分级(做错了可以反过来重新设置&#x…...

北交字节联合提出ClassDiffusion: 使用显式类别引导的一致性个性化生成。

在个性化生成领域, 微调可能会引起过拟合导致模型无法生成与提示词一致的结果。针对这个问题,北交&字节联合提出ClassDiffusion,来提升个性化生成的一致性。 通过两个重要观察及理论分析提出了新的观点:一致性的损失是个性化概念语义偏移导致的, 还…...

37、matlab矩阵运算

1、前言 矩阵运算是指对矩阵的各种操作和运算,包括矩阵加法、矩阵减法、矩阵乘法、矩阵转置、求逆矩阵等。以下是常见的矩阵运算: 矩阵加法:对应位置的元素相加,要求加数和被加数的维度相同。 A B | a11 b11 | | a12 b12 | | …...

用软件实现的硬件——虚拟机

通过软件实现CPU和内存等硬件所具有的功能,并在计算机中运行循环的计算机技术称为虚拟机。使用虚拟机,就可以在一台计算机中运行多个循环出来的计算机。 近几年的计算机,除了硬件具有较高的性能外,CPU的性能也有了提升。因此&…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...