替换字符串java扫描仪类
问题描述:
import java.util.*;
public class ReplaceString {
public static void main(String[] args) {
new ReplaceString().run();
}
public void run()
{
System.out.println("Input String:\n");
Scanner keyboardScanner = new Scanner(System.in);
String inString = keyboardScanner.nextLine();
String strOutput = inString.replace("is","was");
System.out.println(strOutput);
}
}
我想从输入的行中取代所有“is”与“was”的出现,这是我能够做到的,但我不想混淆“is”是这个词的一部分。替换字符串java扫描仪类
例如,任何出现的单词nameis或这应该被忽略。只有对个别出现次数“是”应为“是”
代替我知道我可以使用正则表达式,但我不知道该格式,如果是正则表达式
答
尝试
String strOutput = inString.replaceAll("\\bis\\b","was");
测试输出:
Input String:
is island is feris kiss
输出
was island was feris kiss
答
不是我对java很熟悉,但可以尝试添加空格。理论上这应该起作用。
System.out.println("Input String:\n");
Scanner keyboardScanner = new Scanner(System.in);
String inString = keyboardScanner.nextLine();
String strOutput = inString.replace(" is "," was ");
System.out.println(strOutput);
+0
如果'is'出现在开始处或输入结束? – 2011-03-26 20:16:20
+0
我在发布问题之前已经尝试过,但如果第一次出现的句子是“是”,并且之前没有空格,该怎么办?在这种情况下,第一次发生3不会被取代,因为它不符合“是” – user665319 2011-03-26 20:39:33
如果什么'is'发生在输入的开始?怎么样输入“岛”? – 2011-03-26 20:13:36
@Mark对于你提到的测试用例似乎没什么问题。 – 2011-03-26 20:16:13
当我评论时,尾部'\\ b'不在那里,现在我同意,+1 – 2011-03-26 20:17:11