gpt4 book ai didi

java - 如何排除字符串中大写的特定单词?

转载 作者:行者123 更新时间:2023-12-01 19:32:07 25 4
gpt4 key购买 nike

我是编程新手,这里需要我将用户的输入大写,其中不包括某些单词。

例如,如果输入是这是一个测试 我明白这是一个测试

但是,我想获得这是测试格式

String s = in.nextLine();
StringBuilder sb = new StringBuilder(s.length());
String wordSplit[] = s.trim().toLowerCase().split("\\s");
String[] t = {"is","but","a"};

for(int i=0;i<wordSplit.length;i++){
if(wordSplit[i].equals(t))
sb.append(wordSplit[i]).append(" ");
else
sb.append(Character.toUpperCase(wordSplit[i].charAt(0))).append(wordSplit[i].substring(1)).append(" ");
}
System.out.println(sb);
}

这是迄今为止我得到的最接近的结果,但我似乎无法排除特定单词的大写。

最佳答案

问题在于您正在将每个单词与整个数组进行比较。 Java 并不禁止这样做,但它并没有多大意义。相反,您可以循环数组中的每个单词并比较它们,但这在代码中有点冗长,而且如果单词数组变大,速度也不会很快。

相反,我建议从数组创建一个Set并检查它是否包含单词:

String[] t = {"is","but","a"};
Set<String> t_set = new HashSet<>(Arrays.asList(t));
...
if (t_set.contains(wordSplit[i]) {
...

关于java - 如何排除字符串中大写的特定单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com