[英]Replacing multiple char from a string in java
我有一個PHP腳本<?=str_replace(array('(',')','-',' ','.'), "", $rs["hq_tel"])?>
這是一個字符串替換獲取字符數組的函數,如果在字符串中找到任何字符,則替換它們。 是否有任何java等效的函數。 我發現了一些方法,但有些方法是使用循環,有些方法重復這些語句,但在java中找不到任何單行解決方案。
提前致謝。
你可以使用這樣的正則表達式:
//char1, char2 will be replaced by the replacement String. You can add more characters if you want!
String.replaceAll("[char1char2]", "replacement");
其中第一個參數是regex
,第二個參數是replacement
參數。
請參閱有關如何轉義特殊字符的文檔 (如果您需要!)。
你的解決方案在這里..
替換所有特殊字符
str.replaceAll("[^\\dA-Za-z ]", "");
替換特定的特殊字符
str.replaceAll("[()?:!.,;{}]+", " ");
String.replaceAll(String regex, String replacement)
如果你不了解正則表達式,你可以使用更詳細的東西:
private static ArrayList<Character> special = new ArrayList<Character>(Arrays.asList('(', ')', '-', ' ', '.'));
public static void main(String[] args) {
String test = "Hello(how-are.you ?";
String outputText = "";
for (int i = 0; i < test.length(); i++) {
Character c = new Character(test.charAt(i));
if (!special.contains(c))
outputText += c;
else
outputText += "";
}
System.out.println(outputText);
}
輸出: Hellohowareyou?
編輯(沒有循環,但有正則表達式) :
public static void main(String[] args) {
String test = "Hello(how-are.you ?)";
String outputText = test.replaceAll("[()-. ]+", "");
System.out.println(outputText);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.