我想读一个文本文件,打印出已知单词前面的单词,比如Java中的xxx。我使用Scanner类用java编写了这段代码。但是这段代码只打印了“xxx”前面的一半单词,而“xxx”前面的一些单词则丢失了。我想知道是什么问题,你能解决这个代码吗。
测试文件包含类似的内容
Blah blah blah.. man xxx create blah blah .. wander xxx blah... then xxx ..
Need to print man,wander,then etc.,
public class Searchright {
public static void main(String[] args) throws IOException {
Scanner s = null;
String str;
try {
s = new Scanner(new BufferedReader(new FileReader("doc.txt")));
str=s.next();
do{
//while (s.hasNext()) {
str=s.next();
if((s.hasNext(("xxx"))||s.hasNext(("X.X.X”))))
{
//System.out.println(s.next()+" "+s.next() );
//System.out.println(s.next());
System.out.println(str);
//s.next();
}
s.next();
//System.out.println(s.next());
}while(s.hasNext());
}
finally{
if (s != null) {
//s.close();
}
}
}
}
问题很简单:你调用Scanner。下一步
2次循环,而不是1次:这应该有效:
public class Searchright {
public static void main(String[] args) throws IOException {
Scanner s = null;
String str;
try {
s = new Scanner(new BufferedReader(new FileReader("doc.txt")));
str=s.next();
do{
//while (s.hasNext()) {
str=s.next();
if((s.hasNext(("xxx"))||s.hasNext(("X.X.X”))))
{
//System.out.println(s.next()+" "+s.next() );
//System.out.println(s.next());
System.out.println(str);
//s.next();
}
//-> ADDED COMMENT HERE -------------------------- s.next();
//System.out.println(s.next());
}while(s.hasNext());
}
finally{
if (s != null) {
//s.close();
}
}
}
}
我认为代码应该和问题中的代码一样。它实际上只是添加了以“开始”开头的注释//-
你的代码已经打印出了man
和wander
,尽管之后
丢失了。我对您的代码进行了一些更新,使用了try with resources,而不是try finally,并将下一个单词分配给自己的变量,该变量将测试所需的字符串:
public static void main(String[] args) throws IOException
{
try (Scanner s = new Scanner(new BufferedReader(new FileReader("doc.txt"))))
{
String str=s.next();
String next;
do
{
next = s.next();
if( next.equals("xxx") || next.equals("X.X.X") )
{
// Need to print man,wander,then etc.,
System.out.println(str);
}
str = next;
}
while(s.hasNext());
}
}
嗯
public class Searchright {
public static void main(String[] args) throws IOException {
Scanner s = null;
String str;
try {
s = new Scanner(new BufferedReader(new FileReader("doc.txt")));
do{
//while (s.hasNext()) {
str=s.next();
if((s.hasNext(("xxx"))||s.hasNext(("X.X.X”))))
{
//System.out.println(s.next()+" "+s.next() );
//System.out.println(s.next());
System.out.println(str);
//s.next();
}
//System.out.println(s.next());
}while(s.hasNext());
}
finally{
if (s != null) {
//s.close();
}
}
}
}
删除s.next()
之前的do循环
和之前的,而
块内的do循环
。它在一个循环中转义单词两次。从而造成漏字。
问题内容: 假设您有一个像这样的文本文件:http : //www.gutenberg.org/files/17921/17921-8.txt 有没有人有一个好的算法或开放源代码从文本文件中提取单词?如何获得所有单词,同时避免使用特殊字符,并保留诸如“ it’s”之类的内容… 我在用Java工作。谢谢 问题答案: 这听起来像是正则表达式的正确工作。如果您不知道如何开始,以下是一些Java代码,可以
问题内容: 好的,所以我有这个yaml文件,我想替换一个字符串 与字符串 但是我不知道该怎么办。这是完整的Yaml文件 问题答案: 假设您使用的操作系统不错,并且您的YAML文档称为:
如果案文是: 我想要一个句子(句子边界是句号,后面是空格),其中有“他”和“米兰”,即第三个句子(顺序不重要。任何同时有这两个词的句子都是必需的) 我尝试了上面的regex pattrn和其他许多方法 但是它在'milan'之后提取部分句子,或者从第一个'he'开始提取两个句子 请建议使用regex或Java中的任何其他方法完成此任务的方法 (我正致力于提取2个实体之间的关系模式:在这种情况下,关
问题内容: 就像标题所说的那样,我试图编写一个程序,该程序可以从文本文件中读取单个单词并将其存储到变量中。我知道如何使用或来读取单曲,但是对于我试图这样做的行不通。一旦输入了单词,我就尝试使用.equals将它们与程序中的其他String变量进行比较,因此最好将其导入为Strings。我也可以将文本文件中的整行作为字符串输入,在这种情况下,我只需要在文件的每一行中输入一个单词即可。如何从文本文件输
我想从数据帧中的文本中提取特定的单词。这些单词我已经输入到字典的列表中,它们属于某些类别(键)。由此,我想创建与存储单词的类别相对应的列。和往常一样,最好用例子来说明: 我有一个数据框: 它创建表: 还有一本我想从中提取的分类词词典。这些单词都是没有符号的自然语言单词,可以包括短语,例如本例中的“alloy wheels”(这不一定是字典,我只是觉得这是最好的方法): 根据这个,我想创建一个如下所
上面的类型是一个单选按钮,其id基于下一个div标签。 <代码> 我确实知道div类中的名称(调制解调器促销 - 100)是什么。但我想点击旁边的单选按钮。我将以字符串的形式获取“调制解调器促销 - 100”的值。我想与文本进行比较,然后单击相邻的单选按钮。 请帮助我如何编写xpath或查找webElement。谢谢!