[英]How to replace \ followed by letters in java String?
我需要刪除所有以\\開頭且后跟任何字符的標記。 我創建了這樣的模式:
input.replaceAll("\\[a-zA-Z0-9]*", "");
但它不工作,因為它不會刪除\\rad
從字符串5 4\\rad
。
編輯 :
public static void main(String[] args)
{
String input="Wolf 3 3\4par";
String replaceAll = input.replaceAll("\\\\[a-zA-Z0-9]*", "");
System.out.println("replaceAll=" + replaceAll);
}
謝謝!
該\\
是特別無論是在字符串字面量和正則表達式。 要將實際\\
置於正則表達式中,必須對其進行兩次轉義。 您還必須將結果分配到某個地方,這在您所做的問題中還不清楚。 所以:
input = input.replaceAll("\\\\[a-zA-Z0-9]*", "");
完整示例: 實時復制
import java.util.*;
public class Temp {
public static void main(String[] args) {
String input = "4 5 \\rad";
input = input.replaceAll("\\\\[a-zA-Z0-9]*", "");
System.out.println(input);
}
}
輸出:
4 5
要在正則表達式中創建\\
文字,您需要將\\\\
傳遞給正則表達式引擎。 但是要在String中創建\\
文字,您還必須對其進行轉義,因此您需要將其寫為"\\\\"
。
\\
正則表達式引擎中的文字 \\\\
正則表達式模式 "\\\\\\\\"
代表正則表達式模式的字符串 現在,您在正則表達式模式中使用一個\\
,正則表達式引擎將其視為\\[
,轉義[
使它成為簡單的文字。
試試這個
input.replaceAll("\\\\[a-zA-Z0-9]*", "");
從
抱歉,我的字串正好是5 4 \\ rad。 確實如何刪除\\ rad? – Volodymyr Levytskyi
嘗試
String k= "5 4\rad";
System.out.println(k.replaceAll("\r\\w*", ""));
輸出量
5 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.