Как я могу удалить любые символы каретки в строке? - PullRequest
1 голос
/ 15 ноября 2011

Я использую строку регулярного выражения, которая содержит символ карата (^) где-то внутри него. Есть ли способ в Java, чтобы удалить эти символы? Вот несколько методов, которые я пробовал:

string = "some^string";

string = string.replaceAll("\\^", "");
string = string.replaceAll(Pattern.quote("\\^"), "");
string = string.replaceAll(Pattern.quote("\u2038"), "");

Ни один из которых не работал. Чего мне не хватает?

Ответы [ 4 ]

5 голосов
/ 15 ноября 2011

Нет необходимости использовать регулярные выражения вообще:

string = string.replace("^", "");

Однако, первый из ваших примеров тоже работает:

public class Test {   
    public static void main(String[] args) throws Exception {
        String string = "some^string";
        string = string.replaceAll("\\^", "");
        System.out.println(string); // Prints somestring
    }
}

... так что вполне возможно, что ваша проблема в другом месте.

2 голосов
/ 15 ноября 2011

string.replaceAll("\\^", ""); должно работать.

0 голосов
/ 22 июля 2013

Я думаю, вы можете попробовать использовать другое имя переменной, например:

String str1 = string.replace("^", "1");

и использовать новый str1 вместо старого string.

0 голосов
/ 15 ноября 2011

Pls.удалите последние 2 строки из вашего кода и пишите только ниже, затем проверьте.

string = "some ^ string";

string = string.replaceAll ("\ ^", "");

...