我需要用单词“ blank”替换任何字符串中不止一个连续重复的字符“ _”,以使这是测试___ 变为这是测试空白。如果只有一个“ _”字符,则不应替换。
需要将多个连续的下划线替换为空格,以便在读取字符串以在android中将文本转换为语音时说出空白一词。
答案 0 :(得分:5)
您可以使用Regular Expression进行此操作。幸运的是,String
上有一种名为replaceAll()
的方法,该方法采用正则表达式:
final String input = "This_is a test ___";
final String output = input.replaceAll("_{2,}", "blank");
System.out.println(output); // Prints "This_is a test blank"
该表达式的含义是:“找到至少2个连续的下划线”。
答案 1 :(得分:2)
您可以使用replaceAll()
方法:
String str = "This_ is a ____";
str = str.replaceAll("[_]{2,}", "blank");
输出:
This_ is a blank