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