入力フィールドから受け取った文字列値があります。
String searchingText = getText();
文字列を受け取ったら、この文字列を検索します。しかし、文字列に\
記号が含まれている場合、検索は失敗します。
私は特殊文字について知っており、置き換えようとしています:
searchingText = searchingText.replaceAll("\\","\\\\");
しかし、エラーが発生し、アプリがシャットダウンされました。
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
調査の後、正規表現を作成し、マッチャーに置き換えようとしました:
Map<String,String> sub = new HashMap<String,String>();
sub.put("\n", "\\\\n");
sub.put("\r", "\\\\r");
sub.put("\t", "\\\\t");
StringBuffer result = new StringBuffer();
Pattern regex = Pattern.compile("\\n|\\r|\\t");
Matcher matcher = regex.matcher(bodySearchText);
最後に、文字列を取得したいと思います-searchingText = \\
代わりにsearchingText = \
解決策をお願いします。