字符串中的Java格式字

标签 java arraylist

例如,我有一个包含一本书每一行内容的文本文件,我有一个 java 程序来搜索书中那些行中的特定单词。

这是程序:

import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;


public class AliceSearch {


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

        ArrayList<String> aiw = new ArrayList<String>();
        ArrayList<String> matches = new ArrayList<String>();
        Scanner scan = new Scanner(new File("aiw.txt"));
        Scanner input = new Scanner(System.in);

        while (scan.hasNext()){
            aiw.add(scan.nextLine());
        }

        String searchTerm;

        System.out.print("Please Input Search Parameter : ");

        searchTerm = input.nextLine();

        boolean itemFound = false;

        String currItem = null;

        for(int i = 0; i<aiw.size(); i++  ) {
            currItem = (String)aiw.get(i);

            if (currItem.contains(searchTerm)) {

                matches.add(currItem);

                itemFound = true;

            }
        }

        System.out.println("");

        if ( itemFound == false ) {

            System.out.println ( "No results containing "+searchTerm );

        }else{

            System.out.println ( "We Found the following results : " );

            for(int r = 0; r < matches.size(); r++){
                System.out.println("");
                System.out.println(matches.get(r));
            }
        }

        scan.close();
        input.close();

    }

}

我希望每个结果行中的 searchTerm 在输出时(或放在匹配的 ArrayList 中时)都是大写的。我该怎么做?我知道您使用 .toUpperCase(); 但我现在不知道如何更改一串单词中的一个单词。

提前致谢!

最佳答案

而不是像现在这样输出它:

System.out.println(matches.get(r));

你不能用吗

System.out.println(matches.get(r).replace(searchTerm, searchTerm.toUpperCase()));

这是 JavaDoc replace() 方法用于将找到的单词替换为其大写版本。最好有

String uppercase = searchTerm.toUpperCase();

在循环外再使用

System.out.println(matches.get(r).replace(searchTerm, uppercase));

关于字符串中的Java格式字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319896/

相关文章:

java - 实现扫描仪将文本文件读取到数组

java - Java中有没有检测到没有输入的异常?

java - XML 与 JSON 将完整的树传递到 UI 上基于决策的动态表单

java - 这个Java HashMap 有什么问题吗?

java - 将 ArrayList<String> 转换为 String[] 数组

java - 将 java.util.ArrayList 转换为 gson.JsonElement

Java - 如何对这个 ArrayList 进行排序?

java - 替换字符串中的多个字符

java - Java中 "greater than"或 "less than"的正则表达式不使用括号 "<|>"符号

android - 使用自定义适配器从 ArrayList 中删除项目