Java StringBuilder检查字母值
我正在尝试将StringBuilder中的所有字母都更改为连字符,并保留所有非字母值(如空格撇号等),在不列出和比较所有字母的情况下,如何做到这一点,这是可能的吗Java StringBuilder检查字母值,java,stringbuilder,Java,Stringbuilder,我正在尝试将StringBuilder中的所有字母都更改为连字符,并保留所有非字母值(如空格撇号等),在不列出和比较所有字母的情况下,如何做到这一点,这是可能的吗 private StringBuilder puzzle = new StringBuilder("I'm the cat") for (int i = 0; i < guess.length(); i++) { if (puzzle.charAt(i) == ' '){ puzzle.setCharAt
private StringBuilder puzzle = new StringBuilder("I'm the cat")
for (int i = 0; i < guess.length(); i++) {
if (puzzle.charAt(i) == ' '){
puzzle.setCharAt(i, ' '); }
else
puzzle.setCharAt(i, '-');
}
private StringBuilder puzzle=新StringBuilder(“我是猫”)
for(int i=0;i
因此,输出类似于(-)这应该可以做到:
import java.util.regex.Pattern;
.
.
.
Pattern p = Pattern.compile("\\w");
String s = p.matcher("I'm the cat").replaceAll("-");
System.out.println(s); // prints "-'- --- ---"
您也可以使用.replaceAll(“\\w”和“-”)
,但是如果您要在一个方法中进行大量替换,那么事先编译模式
在技术上更为有效(尽管在这种情况下不太可能)。请尝试replaceAll()
可能使用?Character类有一个Isleter()或一些类似的方法,可能很有用。
System.out.println("I'm the cat".replaceAll("\\w", "-")); //prints: -'- --- ---