我已阅读String.split
Javadoc,我还阅读了 How to split a string in Java
我正在尝试这段代码,我的分隔符是
!,?._'@
但是,事实并非如此split
。我的代码有什么问题吗?
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args)
{
String[] tokens = "He is a very very good boy, isn't he?".split(" !,\\?\\._'@");
for (String token : tokens){
System.out.println(token);
}
}
}
输出应该是
He
is
a
very
very
good
boy
isn
t
he
但相反,我得到了
He is a very very good boy, isn't he?
最佳答案
您需要将正则表达式分隔符分成字符类分组(|
符号表示或,而+
表示一个或更多的)。比如,
String[] tokens = "He is a very very good boy, isn't he?"
.split("[ |!|,|\\?|\\.|_|'|@|]+");
for (String token : tokens) {
System.out.println(token);
}
输出(根据要求)
He
is
a
very
very
good
boy
isn
t
he
关于Java 字符串标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966705/