當前位置:首頁 » 編程語言 » javareplaceall

javareplaceall

發布時間: 2022-04-20 11:43:25

⑴ 淺談java中replace和replaceAll的區別

replace和replaceAll是JAVA中常用的替換字元的方法,它們的區別是:
1、replace的參數是char和CharSequence,既可以支持字元的替換,也支持字元串的替換(CharSequence即字元串序列的意思,說白了也就是字元串);
2、replaceAll的參數是regex,即基於規則表達式的替換,比如,可以通過replaceAll("\\d",
"*")把一個字元串所有的數字字元都換成星號;
3、相同點是都是全部替換,即把源字元串中的某一字元或字元串全部換成指定的字元或字元串,如果只想替換第一次出現的,可以使用
4、replaceFirst(),這個方法也是基於規則表達式的替換,但與replaceAll()不同的時,只替換第一次出現的字元串;
5、另外,如果replaceAll()和replaceFirst()所用的參數據不是基於規則表達式的,則與replace()替換字元串的效果是一樣的,即這兩者也支持字元串的操作;
還有一點注意:執行了替換操作後,源字元串的內容是沒有發生改變的.

⑵ java replaceall 怎麼替換

replace和replaceAll是JAVA中常用的替換字元的方法,它們的區別是:
1)replace的參數是char和CharSequence,即可以支持字元的替換,也支持字元串的替換(CharSequence即字元串序列的意思,說白了也就是字元串);
2)replaceAll的參數是regex,即基於規則表達式的替換,比如,可以通過replaceAll("\\d", "*")把一個字元串所有的數字字元都換成星號;
相同點:都是全部替換,即把源字元串中的某一字元或字元串全部換成指定的字元或字元串,如果只想替換第一次出現的,可以使用replaceFirst(),這個方法也是基於規則表達式的替換,但與replaceAll()不同的是,只替換第一次出現的字元串;
另外,如果replaceAll()和replaceFirst()所用的參數據不是基於規則表達式的,則與replace()替換字元串的效果是一樣的,即這兩者也支持字元串的操作;
還有一點注意::執行了替換操作後,源字元串的內容是沒有發生改變的。
舉例如下:

String src = new String("ab43a2c43d");

System.out.println(src.replace("3","f"));=>ab4f2c4fd.

System.out.println(src.replace('3','f'));=>ab4f2c4fd.

System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.

System.out.println(src.replaceAll("a","f"));=>fb43fc23d.

System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d

System.out.println(src.replaceFirst("4","h"));=>abh32c43d.

如何將字元串中的"\"替換成"\\":

String msgIn;

String msgOut;

msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");

原因:
'\'在java中是一個轉義字元,所以需要用兩個代表一個。例如System.out.println( "\\" ) ;只列印出一個"\"。但是'\'也是正則表達式中的轉義字元(replaceAll 的參數就是正則表達式),需要用兩個代表一個。所以:\\\\被java轉換成\\,\\又被正則表達式轉換成\。
同樣
CODE: \\\\\\\\
Java: \\\\
Regex: \\
將字元串中的'/'替換成'\'的幾種方式:

msgOut= msgIn.replaceAll("/", "\\\\");

msgOut= msgIn.replace("/", "\\");

msgOut= msgIn.replace('/', '\\');

通過實例區分了java中replace()和replaceAll()的不同點,希望本文對大家學習有所幫助

⑶ java replaceAll該怎麼用

  1. API如下:

    publicStringreplaceAll(Stringregex, Stringreplacement)
    regex: 需要匹配替換的正則

    replacement: 將匹配的串替換為此字元串

  2. 根據API可知,一個String對象即可調用此API

    參考以下例子:

    String s = new String("I love programming so much!");

    System.out.println(s);//I love programming so much!

    s = s.replaceAll("m{1,}", "xxxx_xxxx");

    System.out.println(s);//I love progrxxxx_xxxxxxxx_xxxxaing so xxxx_xxxxuch!

  3. 那麼 tmpString = tmpString.replaceAll("'", "\\'");

  4. 官方最新API地址docs.oracle.com/javase/8/docs/api/

⑷ java中replaceAll的用法,不同的用法為什麼會報錯

StringBuilder 可以用repalce方法。

其實你這里都可以用這個方法,效果和repalceAll是一樣的,代碼如下:

packagemytest;
//replace替換匹配字元串
publicclasstest{
publicstaticvoidmain(String[]args){
Strings1="上海自來水來自海上";
System.out.println(s1.replace("自來水","*"));//將「自來水」三個字替換為「*」

StringBuilders2=newStringBuilder();
s2.append("大家好").append("這是蒼井空").append("老師");
System.out.println(s2.replace("蒼井空","井空"));

}
}

replaceAll方法比replace方法功能主要是多了可以用正則表達式來匹配字元串,你這里沒有用正則,用replace方法就好,而且String 和 StringBuilder都有這個方法

⑸ java中String的replaceAll方法

字元組中「」是有轉義的含義的,就跟你replaceAll中使用多個""是為了轉義一樣。

你定義var1時,java是認為"dfas'f"中的""是轉義字元,轉義"'"(最後還是"'")。所以var1和var2其實是一樣的。這也是為什麼你replaceAll後的結果也是一樣的。

publicclassTest{
publicstaticvoidmain(String[]args){
Stringvar1="dfas'f";
Stringvar2="dfas'f";
System.out.println(var1);//結果是dfas'f
System.out.println(var1.equals(var2));//結果是true
}
}

⑹ java replaceAll 正則表達式的用法是什麼

String a = "2016-06-24 10:33:20";

String b = a.replaceAll("[-\s:]", "");

System.out.println(b);

跟你簡單說明下

正則表達式中[]中的內容表示匹配其中任何一個

s 表示匹配任何不可見的空字元,但是在java中需要在前面再加一個轉義字元才能生效

⑺ java replaceAll用法


String s1 = s.replaceAll(ss, "");
System.out.println(s1);
改為
s = s.replaceAll(ss, "");
System.out.println(s);
即可

⑻ JAVA中string.replace和string.replaceAll的區別及用法

1、替換方式不同

【public String replace( )】

是通過用 newChar 替換此字元串中出現的所有 oldChar 而生成的。

【public String replaceAll( )】

使用給定的 replacement 字元串替換此字元串匹配給定的正則表達式的每個子字元串。

2、參數不同

【replace】的參數是char和CharSequence。可以支持字元的替換,也支持字元串的替換。

【replaceAll】的參數是regex,regex表示是正則表達式。即基於正則表達式的替換。

用法範例一:

public static void main(String[] arg) throws OgnlException {

String s =」sdf\a\aa」;

//把s中的反斜杠 替換為\

System.out.println(s);

System.out.println(s.replaceAll(「\\」, 「\\\\」));

System.out.println(s.replace(「\」, 「\\」));

}

用法範例二:

String str = "wel2come3Souhe";

String str1 = str.replace("e", "E");

String str3 = str.replace('e', 'E');

System.out.println("replace字元串==" + str1);

System.out.println("replace字元=="+str3);

String str2 = str.replaceAll("\d", "a");//將數字替換a

System.out.println("replaceAll==" + str2);

輸出結果:

replace字元串==wEl2comE3SouhE

replace字元==wEl2comE3SouhE

replaceAll==welacomeaSouhe

(8)javareplaceall擴展閱讀

Java中的String類

1、String類是final類,因此String類不能被繼承。

2、String的成員方法都默認為final方法。

3、被final修飾的類是不允許被繼承的,並且該類中的成員方法都默認為final方法。

4、String類其實是通過char數組來保存字元串的。

5、String對象一旦被創建就是固定不變的。

6、對String對象的任何改變都不影響到原對象,相關的任何change操作都會生成新的對象。

⑼ java replaceAll應該怎麼用,謝謝大神了

替換字元串中所有符合條件的字元

有兩個參數,第一個參數是被替換的串(也可以用正則),第二個參數是替換後的串
比如"aabbccaabbcc".replaceAll("aa","ss");
正則的"asd123asdiopiop".replaceAll("\\d", "kk");類似這種

⑽ java中,replaceAll方法中的問題

public String replaceAll(String regex,
String replacement)使用給定的 replacement 字元串替換此字元串匹配給定的正則表達式的每個子字元串。
此方法調用的 str.replaceAll(regex, repl) 形式產生與以下表達式完全相同的結果:

Pattern.compile(regex).matcher(str).replaceAll(repl)

參數:
regex - 用來匹配此字元串的正則表達式

replacAll要用正則表達式,所以[*]就可以,[*]表示*

熱點內容
演算法實驗分析 發布:2025-01-24 13:20:25 瀏覽:134
安卓和ios步數哪個准確 發布:2025-01-24 13:12:13 瀏覽:289
怎麼給電腦換配置 發布:2025-01-24 13:04:04 瀏覽:919
如何修改服務密碼10086 發布:2025-01-24 12:44:27 瀏覽:512
dosftp連接 發布:2025-01-24 12:35:56 瀏覽:802
編程來炒股 發布:2025-01-24 12:35:14 瀏覽:854
python正則中括弧 發布:2025-01-24 12:32:08 瀏覽:585
配置排列用英語怎麼說 發布:2025-01-24 12:32:00 瀏覽:607
led流水燈c語言程序 發布:2025-01-24 12:28:15 瀏覽:46
蘋果平板鎖屏密碼在哪裡 發布:2025-01-24 12:16:41 瀏覽:958