我想使用 Java 将除空格之外的所有字母从字符串更改为“-”字符。
我试过了:
String out = secretWord.replaceAll("^ " , "-");
和
String out = secretWord.replaceAll("\\s" , "-");
他们没有工作。
我试过了:
String newWord = secretWord.replaceAll("[A-Z]" , "-");
它有效,但我没有更改我在该字符串中使用的土耳其语字符。
原始代码:
public class ChangeToLine {
public static void main(String[] args) {
String originalWord = "ABİDİKUŞ GUBİDİKUŞ";
String secretWord = originalWord;
}
}
回答1
您可以使用 \\S
正则表达式:
String s = "Sonra görüşürüz";
String replaced = s.replaceAll("\\S", "-");
System.out.println(replaced); // outputs ----- ---------
回答2
使用字符类
String out = secretWord.replaceAll("[^ ]" , "-");
或大写 S
,而不是小写 s
来替换所有非空格字符
String out2 = secretWord.replaceAll("\\S" , "-");
回答3
java.util.regex.Pattern
中NOT需要用方括号表示:
String out = secretWord.replaceAll("[^\\s]", "-")