gpt4 book ai didi

java - 使字符串的特定部分在控制台输出中显示为彩色

转载 作者:行者123 更新时间:2023-11-30 06:49:22 24 4
gpt4 key购买 nike

我正在尝试使输入文本文件中包含大写字母的所有字符串在输出控制台中显示为绿色。例如,输入文本文件包含“我习惯说英语”。输出应该是输入文本文件“I'm used to speak in English”中的整个句子。字符串“I'm”和“English”以绿色显示。但我只设法以绿色显示字符串“I'm”和“English”,而没有在控制台上显示整个句子。

谁能帮忙解决这个问题?我的代码:

    public static void main(String[] args) throws FileNotFoundException {

Scanner sc = new Scanner(new File("Testing.txt"));

while(sc.hasNext()){
String line = sc.nextLine();
String arr [] = line.split(" ");

StringBuilder out = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (Character.isUpperCase(arr[i].charAt(0))) {
out.append(arr[i]);
}
}

if (out.length() > 1) {
out.setLength(out.length() -2);
}

System.out.println ("\u001B[32m " + out);
}
}

最佳答案

尝试这样的事情:

public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new File("Testing.txt"));

while(sc.hasNext()){
String line = sc.nextLine();
String arr [] = line.split(" ");

StringBuilder out = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (Character.isUpperCase(arr[i].charAt(0))) {
out.append("\u001B[32m").append(arr[i]).append(" ");
} else {
out.append("\u001b[0m").append(arr[i]).append(" ");
}
}

System.out.println (out);
}
}

想法是不仅存储第一个大写字母的单词,而且存储所有单词,并使用 \u001b[0m 转义序列来重置其他单词的格式。

关于java - 使字符串的特定部分在控制台输出中显示为彩色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42788018/

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