如何在 Java 中分割一个字符串
本篇文章讨论如何在 Java 中拆分/分割一个字符串。
Java 中的 String
是非原始数据类型之一,用于存储一个字符序列。我们可以简单地声明一个字符串变量,如下所示。
String string = "I am a string";
String string1 = "I am another string";
我们可能需要执行几个字符串处理任务,这取决于我们要实现的目标。让我们考虑一下这样的情况:我们有一个以 CSV 格式表示数据的字符串-全部用逗号分隔。
String data = "Apple,Banana,Orange,Peach";
我们希望从中得到所有的独立字符串;因此我们需要根据逗号对字符串进行拆分,以分离数据,得到如下的输出。
> Apple
> Banana
> Orange
> Peach
Java 字符串默认情况下有一个拆分函数 String#split()
,它接收一个正则表达式作为输入,并在给定的输入上拆分后返回一个结果字符串数组。
下面的例子说明了如何在 Java 中使用这个方法来拆分给定的字符串。
public class Main {
public static void main(String args[]) {
String data = "Apple,Banana,Orange,Peach";
String[] splitted = data.split(",");
for (int i=0; i<splitted.length; i++){
System.out.println(splitted[i]);
}
}
}
上面的代码输出如下。
Apple
Banana
Orange
Peach
让我们尝试用这个方法在不同的参数上拆分一个字符串。
以 .
作为分隔符
这次我们有一个这样的字符串 - "One.Two.Three.Four"
。让我们再次使用同样的方法来拆分它。
public class Main {
public static void main(String args[]) {
String data = "One.Two.Three.Four";
String[] splitted = data.split(".");
for (int i=0; i<splitted.length; i++){
System.out.println(splitted[i]);
}
}
}
上面的代码将什么也不输出! 请记住,我们提到过,split
函数需要一个正则表达模式作为输入。因此,当我们要对一些特殊字符进行拆分时,我们需要采取额外的措施。
这里有 12 个具有特殊含义的字符。
-
反斜杠
\
-
小括号
^
-
美元符号
$
-
句点
.
-
竖线或管道符号
|
-
问号
?
-
星号
*
-
加号
+
-
左括号
(
-
右括号
)
-
左方括号
[
-
左大括号
{
这些特殊字符通常被称为元字符。
如果我们要对上述任何一个字符进行拆分,我们可以使用反斜杠 /
来转义这些特殊字符,所以使用 data.split('\\.')
来代替 data.split('.')
。
public class Main {
public static void main(String args[]) {
String data = "One.Two.Three.Four";
String[] splitted = data.split("\\.");
for (int i=0; i<splitted.length; i++){
System.out.println(splitted[i]);
}
}
}
现在上面的代码就能正确输出了。
One
Two
Three
Four
让我们再试一个例子。
以一个字符串作为分隔符来拆分
这次我们有一个这样的字符串。"OneFruitTwoFruitThreeFruit"
. 我们再用同样的方法,根据字符串 Fruit
进行拆分。
public class Main {
public static void main(String args[]) {
String data = "OneFruitTwoFruitThreeFruit";
String[] splitted = data.split("Fruit");
for (int i=0; i<splitted.length; i++){
System.out.println(splitted[i]);
}
}
}
上面的代码输出。
One
Two
Three
现在我们知道了如何在 Java 中对任意给定的参数进行拆分。
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,