簡體   English   中英

如何使用replaceAll()替換算術(即0 + 1)

[英]How to use replaceAll() to replace arithmetic(i.e 0+1)

因此,我目前正在開發一個程序,對於該程序的一部分,我需要替換為字符串的AND / OR評估。 像1 + 0這樣的東西表示1或0。但是,當我嘗試使用replaceAll(“ 1 + 0”,“ 1”)時,它不會替換它。 我當前的代碼是

String test = "ab*0+1";

test = test.replaceAll("0+1", "1");

System.out.println(test);

這個輸出但是給我

ab*0+1

我做了一個test.indexOf(“ 0 + 1”)的快速println,它給了我3。所以我知道程序可以看到它,但是它不會替代它。 有任何想法嗎?

將第二行更改為:

test = test.replaceAll("0\\+1", "1");

+正則表達式上下文中解釋,因此應轉義。

由於replaceAll期望字符串定義一個正則表達式,並且+在正則表達式中很特殊,因此您的"0+1"表示“數字0一次或多次,后跟數字1 ”,並且將匹配"01""001""00001"等等。

要僅指定要原義使用的字符串,請使用replace ,而不是replaceAll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM