如何从 Java 中的字符串中分离出特定的单词?
How to isolate specific words from a string in Java?
我查看了其他类似的帖子,我看到的都是带空格的字符串。拆分不包含任何空格的字符串怎么样?我知道如何拆分数字,但我不确定如何拆分特定的单词,例如 Delta、Sigma、Gamma 和 Alpha。
// the one below is the string to be separated
//11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-
int[] numbers = new int[numberOnly.length()];
for(int i =0; i<numberOnly.length();i++) {
numbers[i] = numberOnly.charAt(i)-'0';
}
使用或运算符
class Regx{
public static void main(String ...$){
String s = "11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-";
var out = System.out;
String arr[] = s.split("Delta|Sigma|Gamma|Alpha");
for(var a : arr)
out.println(a);
}
}
输出:
$ java Regx
11020#
-99998#
-45201#
-69420#
-90967#
-
如果你想分开 #
和 -
:
import java.util.stream.Stream;
import java.util.stream.Collectors;
class Regx{
public static void main(String ...$){
String s = "11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-";
var out = System.out;
var arr = Stream.of(s.split("Delta|Sigma|Gamma|Alpha|#|-")).filter(str->str.length() !=0).collect(Collectors.toList());
for(var a : arr)
out.println(a);
}
}
输出:
$ javac Regx.java && java Regx
11020
99998
45201
69420
90967
我查看了其他类似的帖子,我看到的都是带空格的字符串。拆分不包含任何空格的字符串怎么样?我知道如何拆分数字,但我不确定如何拆分特定的单词,例如 Delta、Sigma、Gamma 和 Alpha。
// the one below is the string to be separated
//11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-
int[] numbers = new int[numberOnly.length()];
for(int i =0; i<numberOnly.length();i++) {
numbers[i] = numberOnly.charAt(i)-'0';
}
使用或运算符
class Regx{
public static void main(String ...$){
String s = "11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-";
var out = System.out;
String arr[] = s.split("Delta|Sigma|Gamma|Alpha");
for(var a : arr)
out.println(a);
}
}
输出:
$ java Regx
11020#
-99998#
-45201#
-69420#
-90967#
-
如果你想分开 #
和 -
:
import java.util.stream.Stream;
import java.util.stream.Collectors;
class Regx{
public static void main(String ...$){
String s = "11020#Delta-99998#Sigma-45201#Gamma-69420#Gamma-90967#Alpha-";
var out = System.out;
var arr = Stream.of(s.split("Delta|Sigma|Gamma|Alpha|#|-")).filter(str->str.length() !=0).collect(Collectors.toList());
for(var a : arr)
out.println(a);
}
}
输出:
$ javac Regx.java && java Regx
11020
99998
45201
69420
90967