所以当我的字符串到达一个特殊字符时,我想打印出第一个大写字符。
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
if(input.contains("-")){
for (int i = 0; i < input.length(); i++){
String[] parts = input.split("-",2);
String string1 = parts[0];
String string2 = parts[1];
System.out.print(string1.substring(0, 0) + string2.substring(0,0));
}
}
}
``
I'll give an example of what I'd like it to do.
> input: Please-WooRk-siR
> output: PW
> input: This-Is-A-Test
> output: TIAT
所以只打印每个子字符串的第一个大写字符。
有任何想法吗?提前致谢:)
最佳答案
如果您使用正则表达式,则可以使用零宽度负先行删除单词开头的所有非大写字符:
public static String capitalFirstLetters(String s) {
return s.replaceAll("(?!\\b[A-Z]).", "");
}
当您运行测试用例时:
public static void main(String[] args) throws Exception {
System.out.println(capitalFirstLetters("Please-WooRk-siR"));
System.out.println(capitalFirstLetters("This-Is-A-Test"));
}
它打印:
PW
TIAT
关于java - 取多个拆分字符串的第一个大写字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58962173/