📅  最后修改于: 2023-12-03 15:39:15.726000             🧑  作者: Mango
在Java编程中,我们经常需要将一个句子或者字符串转化为数组来进行处理和操作。本文将介绍如何使用Java语言实现这个功能。
Java中的字符串类提供了split()函数,可以将字符串按照指定的分隔符进行分割,并返回一个字符串数组。
例如,将句子 "Hello World!" 按照空格分割为数组,代码如下:
String sentence = "Hello World!";
String[] words = sentence.split(" ");
结果为:
["Hello", "World!"]
也可以按照其他的分隔符进行分割,例如按照逗号分割:
String sentence = "apple, banana, cherry";
String[] fruits = sentence.split(", ");
结果为:
["apple", "banana", "cherry"]
Java还提供了StringTokenizer类,也可以将字符串按照指定的分隔符进行分割,并返回一个字符串数组。和split()函数不同的是,StringTokenizer是一个可重复使用的类,可以多次分割字符串。
例如,将句子 "Hello World!" 按照空格分割为数组,代码如下:
String sentence = "Hello World!";
StringTokenizer st = new StringTokenizer(sentence, " ");
String[] words = new String[st.countTokens()];
int i = 0;
while (st.hasMoreTokens()) {
words[i] = st.nextToken();
i++;
}
结果为:
["Hello", "World!"]
也可以按照其他的分隔符进行分割,例如按照逗号分割:
String sentence = "apple, banana, cherry";
StringTokenizer st = new StringTokenizer(sentence, ", ");
String[] fruits = new String[st.countTokens()];
int i = 0;
while (st.hasMoreTokens()) {
fruits[i] = st.nextToken();
i++;
}
结果为:
["apple", "banana", "cherry"]
如果不想使用Java提供的函数,也可以手动分割字符串,将每个单词存入一个数组中。
例如,将句子 "Hello World!" 按照空格分割为数组,代码如下:
String sentence = "Hello World!";
String[] words = new String[sentence.length()];
int index = 0;
String word = "";
for (int i = 0; i < sentence.length(); i++) {
char c = sentence.charAt(i);
if (c == ' ') {
words[index] = word;
index++;
word = "";
} else {
word += c;
}
}
words[index] = word;
结果为:
["Hello", "World!"]
也可以按照其他的分隔符进行分割,例如按照逗号分割:
String sentence = "apple, banana, cherry";
String[] fruits = new String[sentence.length()];
int index = 0;
String fruit = "";
for (int i = 0; i < sentence.length(); i++) {
char c = sentence.charAt(i);
if (c == ',') {
fruits[index] = fruit.trim();
index++;
fruit = "";
} else {
fruit += c;
}
}
fruits[index] = fruit.trim();
结果为:
["apple", "banana", "cherry"]
总结:
本文介绍了三种在Java中将句子转换为数组的方法,分别是使用split()函数、StringTokenizer类和手动分割字符串。使用split()函数和StringTokenizer类可以更快速、方便地实现,而手动分割则需要编写更多的代码。根据具体的需求选择不同的方法即可。