заменить строку java класс сканера - PullRequest
0 голосов
/ 26 марта 2011
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" является частью слова.

Например, любое вхождение слова nameis или это следует игнорировать. Только отдельные случаи «есть» следует заменить на «был»

Я знаю, что могу использовать регулярные выражения, но я не знаю формат, если это регулярное выражение

Ответы [ 2 ]

5 голосов
/ 26 марта 2011

Попробуйте

 String strOutput = inString.replaceAll("\\bis\\b","was");

ссылка

Тестовый вывод:

Input String:

is island is feris kiss

выход

was island was feris kiss
0 голосов
/ 26 марта 2011

Не то, чтобы я знал много с 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);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...