迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Kotlin 中将字符串拆分为数组

作者:迹忆客 最近更新:2023/05/10 浏览次数:

一系列字符序列总是组成一个字符串,我们可以在需要时检索每个字符序列。 例如,在现实世界的应用程序中,用户通常使用字符序列来搜索应用程序中的特定服务或产品。

我们通常不会使用整个字符序列来执行搜索。 我们通常从搜索词中检索关键字并使用它们来执行搜索。

本教程将展示如何在 Kotlin 中将字符串拆分为字符串数组。 如上所述,您可以使用此技术通过从字符串数组中检索关键字来在应用程序中进行搜索。


创建一个 Kotlin 项目

打开 IntelliJ IDEA 并选择文件 > 新建 > 项目。 在打开的窗口中,将项目名称输入为 split-string,在 Language 部分选择 Kotlin,然后在 Build System 部分选择 IntelliJ。

最后,按创建按钮生成项目。

生成项目后,在 src 文件夹下创建一个名为 data.txt 的文件,并将此文本粘贴到该文件中。

Your, service, provider, is, wishing, you, a, good, day

此文本包含一行字符串,每个字符串之间使用逗号分隔。 我们将使用此文件将字符串读入我们的应用程序。


在 Kotlin 中从文件中读取文本

在 src/main/kotlin 文件夹下创建第二个名为 Main.kt 的文件,并将以下代码复制并粘贴到该文件中。

import java.io.File

private val fileData = File("src/data.txt");

fun readFileData(): String {
    return fileData.bufferedReader()
        .readLine();
}

fun main(){
    println(readFileData());
}

在此代码中,我们创建了一个名为 readFileData() 的方法,该方法使用 BufferedReader 来读取我们使用 readLine() 方法添加到 data.txt 文件中的行。

BufferedReader 提供了一种从文件中读取数据的有效方法,因为数据被读入缓冲区而不是直接从文件中读取。 如果我们再次需要这个数据,数据将从缓冲区中获取。

readLine() 方法读取单个文本行(如果存在); 否则,该方法返回 null。 行尾由换行符 \n、回车符 \r 或 EOF 标识,表示文件结束。

运行此代码并注意我们的文件已成功读取。 内容将被记录到控制台,如下所示。

Your, service, provider, is, wishing, you, a, good, day

在 Kotlin 中使用 split() 方法和 Array() 构造函数将字符串拆分为数组

对上例中的 main() 方法进行注释,将以下代码复制粘贴到Main.kt文件中 readFileData() 方法之后。

fun usingSplitAndArray(): Array<String> {
    val stringData: List<String> = readFileData()
        .split(",");

    return Array(stringData.size) { index ->
        stringData[index]
    }

}

fun main(){
    println(usingSplitAndArray()[0])
}

在此代码中,我们创建了一个名为 usingSplitAndArray() 的方法,该方法对 readFileData() 方法返回的字符串调用 split() 方法以返回字符串 List<String> 值的列表。

split() 方法使用逗号作为字符串的分隔符。 请注意,您可以在 split() 方法中传递可变数量的分隔符以获得所需的结果。

由于我们希望返回一个字符串数组 Array<String> ,因此我们使用返回的列表通过 Array() 构造函数创建一个新数组。 此构造函数接受两个参数:第一个是数组大小,第二个是接受 int 并返回类型 T 的 lambda 表达式。

由于我们的列表可以提供所有这些参数,我们将列表大小作为 Array() 构造函数的第一个参数传递,第二个参数使用列表中每个项目的索引返回数组的值。

为了验证我们的字符串是否已转换为数组,我们在 main() 方法中使用 SplitAndArray()[0] 记录了返回数组中索引 0 处的值。

运行此代码并确保输出如下所示。

Your

在 Kotlin 中使用 split() 和 toTypedArray() 方法将字符串拆分为数组

注释掉前面示例中的 main() 方法,并将以下代码复制并粘贴到 Main.kt 文件中的 usingSplitAndArray() 方法之后。

fun usingToTypedArray(): Array<String> {
    return readFileData()
        .split(",")
        .toTypedArray();
}

fun main(){
    println(usingToTypedArray()[1])
}

在此代码中,我们创建了一个名为 usingToTypedArray() 的函数,它从 split() 方法返回的列表中返回一个字符串数组 Array<String>

在前面的示例中,我们提到 split() 方法返回一个字符串列表 List<String>,我们可以使用 Array() 构造函数来创建一个字符串数组。

这个例子比前面的例子简单得多,因为我们只需要在返回的列表上调用 toTypedArray() 方法来返回一个类型化数组,它只是一个字符串数组 Array<Strings>

main() 方法中,我们记录了数组返回的索引 1 处的值,以验证字符串是否已转换为数组。

运行此代码并确保输出如下所示。

 service

在 Kotlin 中将字符串拆分为数组后删除前导和尾随空格

注释掉前面示例中的 main() 方法,并将以下代码复制并粘贴到 Main.kt 文件中的 usingToTypedArray() 方法之后。

fun usingTrimMethod(): Array<String> {
    return readFileData()
        .split(",")
        .map(String::trim)
        .toTypedArray()
}

fun main(){
    println(usingTrimMethod()[1])

}

请注意 ,我们的文本包含前导空格,并且前面的示例返回了一个将空格作为字符串一部分的值。 要删除前导和尾随空格,我们调用 map() 方法并将 trim() 方法作为其参数传递。

trim() 方法是一个转换函数,它删除所有前导和尾随空格(如果存在)。 此示例与上一个示例类似,其主要目的是展示如何消除空格。

运行此示例并注意记录到控制台的值,在这种情况下,没有空格,如下所示。

service

总结

在本教程中,我们学习了如何将字符串拆分为数组。 我们涵盖的主题包括:

  1. 从文本文件中读取一行字符串。
  2. 使用 split() 方法和 Array() 构造函数返回一个字符串数组。
  3. 使用 split() 方法和 toTypedArray() 方法返回一个字符串数组。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Kotlin 中继承具有多个构造函数的类

发布时间:2023/05/12 浏览次数:200 分类:Java

本文讨论如何扩展具有多个构造函数的类。 构造函数是在创建对象时调用的函数,用于初始化类变量。在 Kotlin 中扩展具有多个构造函数的类

Kotlin中栈数据结构的使用

发布时间:2023/05/12 浏览次数:130 分类:Java

本篇文章我们就来学习一下Kotlin中栈的使用。 我们还将看到用于更新和更改 Kotlin 堆栈的标准函数,包括 push、pop、peek、search 和 isEmpty。我们还将研究比 Kotlin 中的堆栈更好的替代方案。

Kotlin中findViewById函数的使用

发布时间:2023/05/12 浏览次数:183 分类:Java

Kotlin 中的 findViewById 允许在 ID 的帮助下查看和更新视图。 本文介绍了 Kotlin 中 findViewById 函数的使用。

在 Kotlin 中实现构建器模式

发布时间:2023/05/12 浏览次数:106 分类:Java

构建器模式为对象创建问题提供了灵活性。 本文演示了如何在 Kotlin 中实现构建器模式。

Kotlin Init 和构造函数之间的区别

发布时间:2023/05/12 浏览次数:67 分类:Java

构造函数和 Kotlin init 块是这种编程语言的重要组成部分。 本文概述了 init 和构造函数之间的区别。

Kotlin 私有构造函数

发布时间:2023/05/12 浏览次数:130 分类:Java

Java 允许通过将其设为私有来隐藏构造函数。 本文讨论如何在 Kotlin 中实现相同的私有构造函数。

在 Kotlin 中获取 SimpleName

发布时间:2023/05/12 浏览次数:154 分类:Java

本文介绍了在 Kotlin 中获取类的 SimpleName 的简单方法。 它显示了与 Java 的 getSimpleName() 方法等效的方法。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便