在 Java 中拆分逗号分隔字符串的三种方法
Java string
类充满了丰富的资源,你可以使用这些资源创建基本程序来解决复杂的问题陈述。本教程将展示一些很酷的方法来从逗号分隔的起点或你可能在字符串值集中使用的任何除法分割字符串。
此外,我们将使用 IndexOf();
我们的第一个程序的方法并将 Split()
与 Java 的动态数组和字符串类集成。
在 Java 中使用 Indexof()
和 Substring()
方法拆分逗号分隔的字符串
查看这个字符串:String java = "Java, is, a, fun, programming, language!";
。此示例以逗号分隔,但可以是其他任何字符。
但是,这样做不会帮助你作为新手理解构建逻辑。以下核心概念在中级阶段为你修订。
了解 Java 中的 indexof()
方法
它返回用户指定字符串中指定值第一次出现的位置。
参数:
String |
String demoStr = 我,我,一个,字符串; |
假设起始索引设置为 0 ,indexOf() 从 "I" 搜索。 |
fromIndex |
一个 int 值,指定开始搜索的索引位置。 |
它会让你玩索引。 |
char |
包含特定字符的 int 值。 |
可选的 |
返回:一个 int
值表示该值在字符串中的第一次出现索引,如果它从未出现,则为 -1
。
Java 中 substring()
方法的重要性
它返回一个字符串,该字符串是该字符串的子字符串。它从给定点开始,以指定点的字符结束。
我们希望你已经成功地理解了这些方法的文档。现在让我们运行我们的第一个程序。
代码:
//Example 1
public class UseIndexofAndSubString {
public static void main(String[] args) {
// Specified string to search comma from and then split it in a substring
String java = "Java, is, a, fun, programming, language!";
String comma = ","; // To search ',' from the first occurrence of the specified string
// Our starting index is 0 since we do not want to miss any occurrence in the
// given string value while the end index is also initialized
int start = 0, end;
// Now the indexOf will find the specified character which in this case is a
// comma (,)
// Note: The second parameter (start) determines that the method starts from the
// beginning, otherwise it will
// Basically, we will be able to locate the occurrence of (comma) from where we
// want it to be split
end = java.indexOf(comma, start);
// If the loop does not find (comma)
// We already mentioned the return type of indexOf in case if the given char
// never occurred, right? That is what the loop searches for!
while (end != -1) {
//// Substring will give us each occurrence until the loop is unable to find
//// comma
String split = java.substring(start, end);
System.out.println(split); // print each sub string from the given string
// Then add 1 to the end index of the first occurrence (search more until the
// condition is set false)
start = end + 1;
end = java.indexOf(comma, start);
}
// Since there is no comma after the last index of the string (language!), the
// loop could not find the end index; thus, it never printed the last word!
// We will get the last instance of the given string using substring and pass
// start position (Starts from L and ends at the !)
String split = java.substring(start);
// Brave, you got it all right!
System.out.println(split);
}
}
输出:
Java
is
a
fun
programming
language!
假设你想将 comma
更改为美元 $
符号。
所有你需要做的:
String java = "Using$ another$ Character$ to$ split$ from!";
String sepFrom ="$"; //To search from the specified string
输出:
Using
another
Character
to
split
from!
在 Java 中使用字符串列表和拆分方法拆分逗号分隔的字符串
当我们讨论初级理解的重要性时,我们谈到了数组。
下面的程序很简单。你不需要找到开始和结束位置,也不需要运行 while
循环并比较返回值是否为-1。
Java 的 string
和 arrays
类用四行干净的代码总结了所有内容。同时,你需要了解两种必要的方法,这将有助于你一路走来。
Java 中的 Arrays.aslist())
函数
参数:
- 数组元素值的类别。
- 用户指定的数组用于存储列表。
- 它为你提供了你定义的指定数组的列表视图。
语法:
List<String> ArraySting = Arrays.asList(IwillBeSplit.split(","));
Java 中的 Split()
函数
它使用我们作为用户指定为正则表达式的 split 方法中的两个参数和 0
的限制参数。
因此,它不包括输出集中尾随的空字符串。
- 参数:作为分隔符的正则表达式。
-
返回: 将
regex 表达式
的该字符串分开生成的字符串数组。
代码:
//Example 3 using Lists' String with Split Method to Split String From a Given demarcation
import java.util.Arrays;
import java.util.List;
public class UseStingListWithSplitMthd {
public static void main(String[] args) {
String IwillBeSplit = "There,are,seven,days,!&#^*,in,a,weak";
// List is an interface in Java
List<String> ArraySting = Arrays.asList(IwillBeSplit.split(","));
// Using for each loop
ArraySting.forEach(System.out::println);
}
}
输出:
There
are
seven
days
!&#^*
in
a
weak
假设字符串是:
String IwillBeSplit = "You%replaced%the%comma%with%a%percentage";
List<String> ArraySting = Arrays.asList(IwillBeSplit.split("%"));
我们将得到:
输出:
You
replaced
the
comma
with
a
percentage
在 Java 中使用数组列表和拆分方法以逗号分隔字符串值
以下代码块不应使你感到困惑。因为,你已经熟悉 Arrays.asList());
和 split()
。
然而,这里的不同之处在于解决方案的方法,它使用 ArrayList<String>
而不仅仅是 List<String>
。
那么区别是什么呢?
这并不难。list
是一个接口,而 ArrayList
是一个 Java 集合类。
前者提供一个静态数组,而后者生成一个动态数组来存储元素。
代码:
//Example 2 using ArrayLists and split method
import java.util.ArrayList;
import java.util.Arrays;
public class ArrayListSplitMethod {
public static void main(String[] args) {
String ALstr = "So,many,ways,to,separate,a,string,from,a,specified,position";
ArrayList<String> Spliter = new ArrayList<>(Arrays.asList(ALstr.split(",")));
Spliter.forEach(System.out::println);
}
}
输出:
So
many
ways
to
separate
a
string
from
a
specified
position
相关文章
在 Java 中获取文件大小
发布时间:2023/05/01 浏览次数:139 分类:Java
-
Java 提供了不同的方法来获取文件的字节大小。 本教程演示了在 Java 中获取文件大小的不同方法。使用 Java IO 的文件类获取文件大小 Java IO 包的 File 类提供了以字节为单位获取文件大小的功能。
Java 中的文件分隔符
发布时间:2023/05/01 浏览次数:108 分类:Java
-
本篇文章介绍了 Java 中的文件分隔符。Java 中的文件分隔符 文件分隔符是用来分隔目录的字符; 例如,Unix 使用 /,Windows 使用 \ 作为文件分隔符。
Java 中的文件过滤器
发布时间:2023/05/01 浏览次数:193 分类:Java
-
本篇文章介绍如何在 Java 中使用 FileFilter。FileFilter 用于过滤具有特定扩展名的文件。 Java内置包IO和Apache Commons IO为FileFilter提供了类和接口来进行文件过滤操作。
Java 获取 ISO 8601 格式的当前时间戳
发布时间:2023/05/01 浏览次数:132 分类:Java
-
本篇文章介绍了 ISO 8601 日期格式、其重要性及其在 Java 中的使用。 它还列出了一些优点来强调为什么应该使用 ISO 格式来表示日期。
在 Java 中获取数组的子集
发布时间:2023/05/01 浏览次数:142 分类:Java
-
本篇文章介绍了几种在 Java 中获取数组子集的方法。使用 Arrays.copyOf() 方法获取数组的子集 使用 Arrays.copyOfRange() 方法获取数组的子集
用 Java 填充二维数组
发布时间:2023/05/01 浏览次数:110 分类:Java
-
二维数组是基于表结构的,即行和列,填充二维数组不能通过简单的添加到数组操作来完成。 本篇文章介绍如何在 Java 中填充二维数组。
计算 Java 数组中的重复元素
发布时间:2023/05/01 浏览次数:202 分类:Java
-
本篇文章介绍Java计算数组中重复元素的方法。计算 Java 数组中的重复元素。我们可以创建一个程序来计算数组中的重复元素。 该数组可以是未排序的,也可以是已排序的。
Java 中 List 和 Arraylist 的区别
发布时间:2023/05/01 浏览次数:90 分类:Java
-
表示为单个单元的一组单个对象称为集合。 在 Java 中,Collection 是一个具有多个已定义接口和类的框架,用于将一组对象表示为一个单元。 它允许我们操纵