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

replacealljava

發布時間: 2022-04-23 01:19:43

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中,replaceAll方法中的問題

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

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

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

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

Ⅲ 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中String類replace和replaceAll的區別

java中string的replace和replace的區別
乍一看,字面上理解好像replace只替換第一個出現的字元(受javascript的影響),replaceall替換所有的字元,其實大不然,只是替換的用途不一樣,簡而言之,replace用新串序列替換舊串序列,而replaceall是用新串替換與前面正則表達式相匹配的位置的字元串。

public String replace(char oldChar,char newChar)
返回一個新的字元串,它是通過用 newChar 替換此字元串中出現的所有 oldChar 而生成的。 如 果 oldChar 在此 String 對象表示的字元序列中沒有出現,則返回對此 String 對象的引用。否則,創建一個新的 String 對象,用來表示與此 String 對象表示的字元序列相等的字元序列,除了每個出現的 oldChar 都被一個 newChar 替換之外。

public String replaceAll(String regex,String replacement)使用給定的 replacement 字元串替換此字元串匹配給定的正則表達式的每個子字元串。此方法調用的 str.replaceAll(regex, repl) 形式產生與以下表達式完全相同的結果:
Pattern.compile(regex).matcher(str).replaceAll(repl)
參數:
regex – 用來匹配此字元串的正則表達式
返回:得到的 String
拋出: PatternSyntaxException – 如果正則表達式的語法無效。

實際應用:
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.replaceAll()是用regular expression 來作為參數的。但是java本身的字元串對於轉義符\也有類似的處理。首先,java會把「\\\\」解釋成一個字元串(其中包含兩個char)——「\ \」這個就是你在JDK的文檔里看到的。
接下來,由於replaceAll是以正則表達式作為參數,所以「\\」被解釋成一個regex。對於一個regex來說這就代表著一個字元,就是「\」。對後面的那個8個\來說,最終會被解釋成「\\」。
換言之,假設String.replaceAll()是以普通字元串,而不是regex作為參數,那麼這樣寫代碼: String target = source.replaceAll(『\\』, 『\\\\』); 就可以了。

Ⅵ 淺談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用法


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

Ⅷ 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中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

(9)replacealljava擴展閱讀

Java中的String類

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

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

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

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

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

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

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

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

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

System.out.println(b);

跟你簡單說明下

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

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

熱點內容
資料庫系統的例子 發布:2025-05-18 03:02:42 瀏覽:191
數字化儲存與編譯是什麼 發布:2025-05-18 02:56:55 瀏覽:217
個人網站模板源碼 發布:2025-05-18 02:51:17 瀏覽:490
主伺服器ip地址 發布:2025-05-18 02:46:29 瀏覽:856
電腦配置太低玩不了絕地求生怎麼辦 發布:2025-05-18 02:38:39 瀏覽:797
存儲過程怎麼出錯了 發布:2025-05-18 02:37:16 瀏覽:368
32寸演算法 發布:2025-05-18 02:22:14 瀏覽:744
寶塔資料庫備份 發布:2025-05-18 02:14:18 瀏覽:192
安卓商店下載的光遇是什麼服 發布:2025-05-18 02:13:38 瀏覽:31
網頁挖礦源碼 發布:2025-05-18 02:13:34 瀏覽:307