Удаление буквы из строки в указанной c позиции - PullRequest
1 голос
/ 07 августа 2020

Я пытаюсь найти * в строке и удалить ее, а также символы впереди и перед ней. например, строка st * tilly выдаст глупый

это то, что у меня есть до сих пор

public static String starOut(String str) {
    for (int i = 0; i < str.length() - 1; i++) {
        if (str.charAt(i) == '*') {
            StringBuilder sb = new StringBuilder(str);
            sb.deleteCharAt(i);
            sb.deleteCharAt(i+1);
            sb.deleteCharAt(i-1);
            sb.toString();
        }
    }
    return sb;
}

1 Ответ

1 голос
/ 07 августа 2020

Вы могли бы сделать это вот так. Он использует регулярное выражение

  • . соответствует любому символу.
  • \\* соответствует звездочке. Он должен быть экранирован, потому что сам по себе он имеет особое значение в регулярных выражениях.
String str = "The sx*yilly dog was acting very st*tilly";
str = str.replaceAll(".\\*.","");
System.out.println(str);

Выводит

The silly dog was acting very silly

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