Java 使用分隔符过滤整个单词

Java 使用分隔符过滤整个单词,java,regex,filter,delimiter,Java,Regex,Filter,Delimiter,我有一个分隔符,可以过滤掉符号和数字。我的程序正在读取一个文件,我想从中排除一些单词,但不是所有单词。这听起来可能令人困惑,但举个例子。如果我的文件中的第一行有单词light,第二行有单词lightning,是否可以通过某种方式过滤掉light,但保留lightning 这是我放置的代码和分隔符 String delimiters = " ,*.-?|\t\r\n^;{}()[]+=<>/1234567890_"; ASCIIDataFile file = new ASCIIData

我有一个分隔符,可以过滤掉符号和数字。我的程序正在读取一个文件,我想从中排除一些单词,但不是所有单词。这听起来可能令人困惑,但举个例子。如果我的文件中的第一行有单词
light
,第二行有单词
lightning
,是否可以通过某种方式过滤掉
light
,但保留
lightning

这是我放置的代码和分隔符

String delimiters = " ,*.-?|\t\r\n^;{}()[]+=<>/1234567890_";
ASCIIDataFile file = new ASCIIDataFile();
String delimiters=“,*。-?| \t\r\n^;{}()[]+=/1234567890”;
ASCIIDataFile文件=新的ASCIIDataFile();

是否使用分隔符进行拆分或替换操作? 您可以在拆分/替换操作中使用:regex-“\blight\b”,它将与“light”匹配,而不是与“lightning”匹配

您可以对此进行验证/测试@


希望这有帮助。

您可以在java中使用模式匹配

Set<String> Word = new TreeSet<String>(); 
while((line=br.readLine()) != null) {
                            Pattern pattern = Pattern.compile("^YourString");
                            Matcher matcher = pattern.matcher(line);
                            while(matcher.find()) {
                                Word.add(line);
                            }
                        }
Set Word=new TreeSet();
而((line=br.readLine())!=null){
Pattern=Pattern.compile(“^YourString”);
匹配器匹配器=模式匹配器(线);
while(matcher.find()){
添加(行);
}
}