java正则替换特殊符号
java 中怎么用正則表達式刪除"[ " 或 " ]" 一些特殊字符 先謝了
String pattern = "([-+*/^()\\]\\[])";String test = "1237019830+32[89-234]234";System.out.println("------test1=["+test+"]");test = test.replaceAll(pattern, "");System.out.println("------test2=["+test+"]");這個應該能夠滿足你的要求,已測試。------test1=[1237019830+32[89-234]234]------test2=[12370198303289234234]preg_replace:正則表達式是用來操作不確定的字符串的,比如說,你不確定里面是有“a apple”還是有“a orange”,所以你就要用正則去查找,找一個他倆都能匹配的正則表達式,就可以查找,但是你所說的問題是將空格替換,完全沒有必要,因為對于高性能的程序來說速度很重要,用str_replace可以節約大量的時間,用:str_replace(‘ ’,‘$nbsp’,$string)。對于其他的字符轉換為html特殊字符,可以使用htmlspecialchars函數,將進行一下轉換。& (和號) 成為 & amp;" (雙引號) 成為 & quot;' (單引號) 成為 & #039;< (小于) 成為 & lt;> (大于) 成為 & gt;我突然發現& nbsp 連在一起在百度知道中是不好用的,所以只好打$nbsp了。你先具體說說要刪除的字符都包括那些,然后才能幫你寫正則啊Pattern類,自己好好看一下吧
< >' " | \ + % java正則表達式不包含特殊字符 ^'/\"()@$%^*<>&? 這兩條正則表達
[^]這個就是用來表示排除的。
Java 中正則表達式的例子
去電驢下載馬士兵的關于正則表達式的看看吧,不錯。
\\(hello\\)這個是這樣的:
目標是匹配(hello),因為正則表達式里括號是有特別含義,所以要轉義,所以正則表達式是\(hello\),本來這樣就好了,不過前面這個東西放在java的字符串里面的話,比如String s = "\(hello\)",又因為\在JAVA有特殊意思,所以又要將\轉義,所以就成了String s = "\\(hello\\)"正則中???=表示零寬先行斷言??(具體含義請查看下面網址)???<=表示后寬先行斷言??(具體含義請查看下面網址)??^()?表示除了()以外的字符??|?表示把不同的規則分隔開?也可以理解為或者的含義大致應該是?匹配出?指定字符串中含有+-*/符號的之前的字符?或者是之后的字符能看到它在程序中的應用?那就更容易判斷正則也很久沒搞了?不是很肯定。x 字符 x
\\ 反斜線字符
\0n 帶有八進制值 0 的字符 n (0 <= n <= 7)
\0nn 帶有八進制值 0 的字符 nn (0 <= n <= 7)
\0mnn 帶有八進制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 帶有十六進制值 0x 的字符 hh
\uhhhh 帶有十六進制值 0x 的字符 hhhh
\t 制表符 ('\u0009')
\n 新行(換行)符 ('\u000A')
\r 回車符 ('\u000D')
\f 換頁符 ('\u000C')
\a 報警 (bell) 符 ('\u0007')
\e 轉義符 ('\u001B')
\cx 對應于 x 的控制符
[abc] a、b 或 c(簡單類)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(范圍)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)
預定義字符類
. 任何字符(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9]
\D 非數字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 單詞字符:[a-zA-Z_0-9]
\W 非單詞字符:[^\w]
目標是匹配(hello),因為正則表達式里括號是表示在()中的是一個整體,不是普通字符所以要使用“\”轉義字符進行轉義成為普通字符,但是"\"在正則表達式中是轉以字符,所以要用"\"把“\”轉義成為普通字符,所以要寫成\\(hello\\),在正則表達式中要表示"\"要寫成"\\\\".
java正則表達式如何判斷字符串中是否含有特殊字符
public class Test2 {
public static void main(String[] args){
String s = "123asdqwe__123 rew-trafgds";
if(s.replaceAll("[a-z]*[A-Z]*\\d*-*_*\\s*", "").length()==0)
System.out.println("input correct");
else
System.out.println("input incorrect");
}/[^\da-zA-Z_\- ]/g;
如果true,則含有其他字符可以。java正則表達式:32=\"1\"\\s+59=\"0000\"
完整的程序如下:
public?class?ll?{
?public?static?void?main(string[]?args)?{
??string?s="";
??system.out.println(s.replaceall("32=\"1\"\\s+59=\"0000\"",?""));
}運行結果:
總結
以上是生活随笔為你收集整理的java正则替换特殊符号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请问哪位有EDUP EP-6501无线网
- 下一篇: 通过淘宝API接口获取SKU标题、SKU