用Java中的字符串“ blank”替换多个连续出现的下划线字符“ _”

时间:2018-09-03 19:36:28

标签: java android string replace character

我需要用单词“ blank”替换任何字符串中不止一个连续重复的字符“ _”,以使这是测试___ 变为这是测试空白。如果只有一个“ _”字符,则不应替换。

需要将多个连续的下划线替换为空格,以便在读取字符串以在android中将文本转换为语音时说出空白一词。

2 个答案:

答案 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