java - 取多个拆分字符串的第一个大写字符

标签 java string

所以当我的字符串到达​​一个特殊字符时,我想打印出第一个大写字符。

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/

相关文章:

java - 如何在 HashMap 中添加和获取类的对象值

Java Bufferedwriter 到可公开访问的位置

java - 如何在Java中使用键名及其值存储数据?

javascript - 如何使用 javascript 正则表达式从字符串中获取域

c++ - 检查字符串是否包含英文句子

java - 如何从java中同一包中的另一个类访问变量

java - 从文本文件中读取某些行

javascript - 使用字符串键和字符串值声明静态 Javascript 映射的正确方法

Java String[] array = line.split ("") 其中 line 只是空格

javascript - 字符串迭代行为