如何在 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/05/16 浏览次数:72 分类:Java
-
本文介绍如何在 Java 中洗一副牌。使用 Java 中的传统循环打乱 ArrayList。类似地,在 Java 中,各种方法允许用户随机播放元素。下面是演示此过程的代码块。
Java 中将列表转换为 ArrayList
发布时间:2023/05/16 浏览次数:155 分类:Java
-
在 Java 中将 List 转换为 ArrayList 的方法。在本篇文章中,我们讨论了如何在 Java 中将列表转换为 ArrayList。
Java 中 ArrayList 和 LinkedList 的区别
发布时间:2023/05/16 浏览次数:126 分类:Java
-
本文介绍 Java 中 ArrayList 和 LinkedList 的区别。ArrayList 和 LinkedList 都用于存储数据,但由于实现类型的不同而存在一些差异。
在 Java 中将 ArrayList 转换为 Set
发布时间:2023/05/16 浏览次数:182 分类:Java
-
本文介绍 Java 中 ArrayList 到 Set 的转换。ArrayList 是 List 接口的实现类,用于以线性顺序存储数据,而 set 是具有 HashSet 类来存储数据的接口。
在 Java 中将 ArrayList 转换为 Int 数组
发布时间:2023/05/16 浏览次数:95 分类:Java
-
本文讨论了在 Java 中将 ArrayList 转换为 int Array 的四种方法。使用 for 循环将 Arraylist 转换为 Int 数组; 使用 Object[] toArray() 函数将 Arraylist 转换为 Int 数组
Java 中比较 ArrayList
发布时间:2023/05/16 浏览次数:137 分类:Java
-
在本教程中,首先,我们将使用 Java 中的比较方法比较两个数组列表。在将其应用于数组列表之前,我们还将相同的方法应用于 Java 字符串。最后,我们演示了如何在比较之前对无序列
在 Java 中使用 ArrayList 进行合并排序
发布时间:2023/05/16 浏览次数:158 分类:Java
-
本文介绍了在 Java 中使用 ArrayList 实现归并排序的步骤。本教程介绍了在 Java 中使用 ArrayList 执行合并排序所需的步骤。合并排序使用分治法对数组或 ArrayList 中的项目进行排序。
在 Java 中隐藏设置为 ArrayList
发布时间:2023/05/16 浏览次数:127 分类:Java
-
在 Java 中将 Set 转换为 ArrayList。在 Java 中将 Set 转换为 ArrayList 在下面的代码中,我们只是初始化一个 set,然后使用 addAll() 方法将其转换为 ArrayList。
如何在 Java 中按日期对 ArrayList 中的对象进行排序
发布时间:2023/05/16 浏览次数:190 分类:Java
-
本教程展示了如何使用多种方法按 Java 中的日期对 ArrayList 中的对象进行排序。使对象具有可比性<>,Collections.sort()和 list.sort()。