Java 仅检索字符串中的大写单词

Java 仅检索字符串中的大写单词,java,string,Java,String,假设我们有以下字符串: String string = "Hello my name Is John doe"; 我只想从这个字符串中获取大写字符串,在本例中:Hello,Is,John 在Java中如何实现这一点?在空格处拆分字符串,然后迭代每个拆分部分,并检查其第一个字母是否为大写 public static void main(String[] args) { String text = "My hovercraft is Full of Eels"; Collectio

假设我们有以下字符串:

String string = "Hello my name Is John doe";
我只想从这个字符串中获取大写字符串,在本例中:
Hello
Is
John


在Java中如何实现这一点?

在空格处拆分字符串,然后迭代每个拆分部分,并检查其第一个字母是否为大写

public static void main(String[] args) {
    String text = "My hovercraft is Full of Eels";
    Collection<String> startingWithCapital = new ArrayList<>();
    for (String part : text.split(" ")) {
        if (Character.isUpperCase(part.charAt(0))) {
            startingWithCapital.add(part);
        }
    }
    // Just to make sure it works
    for (String part : startingWithCapital) {
        System.out.println(part);
    }
}

在空格处拆分字符串,然后迭代每个拆分部分,并检查其第一个字母是否大写

public static void main(String[] args) {
    String text = "My hovercraft is Full of Eels";
    Collection<String> startingWithCapital = new ArrayList<>();
    for (String part : text.split(" ")) {
        if (Character.isUpperCase(part.charAt(0))) {
            startingWithCapital.add(part);
        }
    }
    // Just to make sure it works
    for (String part : startingWithCapital) {
        System.out.println(part);
    }
}
您可以编辑字符串并检查每个部分是否有大写首字母:

String string = "Hello my name Is John doe";
List<String> result = new LinkedList<>();

for (String s : string.split(" ")) {
    if (Character.isUpperCase(s.charAt(0))) {
        result.add(s);
    }
}
String=“你好,我叫约翰·多伊”;
列表结果=新建LinkedList();
用于(字符串s:String.split(“”){
if(Character.isUpperCase(s.charAt(0))){
结果。添加(s);
}
}
您可以编辑字符串并检查每个部分是否有大写首字母:

String string = "Hello my name Is John doe";
List<String> result = new LinkedList<>();

for (String s : string.split(" ")) {
    if (Character.isUpperCase(s.charAt(0))) {
        result.add(s);
    }
}
String=“你好,我叫约翰·多伊”;
列表结果=新建LinkedList();
用于(字符串s:String.split(“”){
if(Character.isUpperCase(s.charAt(0))){
结果。添加(s);
}
}

使用带有单词边界的正则表达式

public static void main(String... strings) {
    String string = "Hello my name Is John doe";
    String[] arr = string.replaceAll("\\b[a-z]\\w+\\b", "").split("\\s+");
    for (String s : arr) {
        System.out.println(s);
    }
}
O/p:


使用带有单词边界的正则表达式

public static void main(String... strings) {
    String string = "Hello my name Is John doe";
    String[] arr = string.replaceAll("\\b[a-z]\\w+\\b", "").split("\\s+");
    for (String s : arr) {
        System.out.println(s);
    }
}
O/p:


使用正则表达式并循环所有匹配项:

String line = "Hello my name Is John doe";
Pattern p = Pattern.compile("([A-Z]\\w+)");
Matcher m = p.matcher(line);
while (m.find()) {
    System.out.println(m.group());
}

使用正则表达式并循环所有匹配项:

String line = "Hello my name Is John doe";
Pattern p = Pattern.compile("([A-Z]\\w+)");
Matcher m = p.matcher(line);
while (m.find()) {
    System.out.println(m.group());
}

我讨厌低落的选民。。。任何人都可能有任何疑问。。。最好尝试解决这个问题并帮助相关人员自信地使用空格分割字符串,将其存储在数组中。然后循环遍历数组并获得字符串的第一个字符。使用IsUpper确定字符是否为大写。以下是我前面的注释代码:String strings=“你好,我的名字是John doe”;String[]name=strings.Split(“”);字符串大写字母=”;对于(inta=0;a