首页 > Java > java教程 > 在Java中编写一个程序,将文件中的所有字符替换为'#”,除了特定的单词

在Java中编写一个程序,将文件中的所有字符替换为'#”,除了特定的单词

WBOY
发布: 2023-09-13 08:57:17
转载
992 人浏览过

在Java中编写一个程序,将文件中的所有字符替换为#”,除了特定的单词

String类的split()方法。将当前字符串拆分为给定正则表达式的匹配项。此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符串终止或以字符串末尾终止。

replaceAll() String 类的方法接受两个表示正则表达式的字符串和一个替换字符串,并用给定的字符串替换匹配的值。

用“#”替换文件中除特定单词之外的所有字符(一种方式)-

  • 将文件的内容读取到字符串中。

  • 创建一个空的StringBuffer 对象。

  • 使用 split() 方法将获取的字符串拆分为 String 数组。

  • 遍历得到的数组。

  • 如果其中有任何元素与所需的单词匹配,则将其追加到 String 缓冲区。

  • 将剩余单词中的所有字符替换为“#”,并将其追加到 StringBuffer 对象中。

  • 最后将 StingBuffer 转换为 String。

    >

示例

假设我们有一个名为sample.txt的文件,其中包含以下内容 -

Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.
登录后复制

以下程序将文件内容读取为字符串,并将其中除特定单词之外的所有字符替换为“#”。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class ReplaceExcept {
   public static String fileToString() throws FileNotFoundException {
      String filePath = "D://input.txt";
      Scanner sc = new Scanner(new File(filePath));
      StringBuffer sb = new StringBuffer();
      String input;
      while (sc.hasNextLine()) {
         input = sc.nextLine();
         sb.append(input);
      }
      return sb.toString();
   }
   public static void main(String args[]) throws FileNotFoundException {
      String contents = fileToString();
      System.out.println("Contents of the file: \n"+contents);
      //Splitting the words
      String strArray[] = contents.split(" ");
      System.out.println(Arrays.toString(strArray));
      StringBuffer buffer = new StringBuffer();
      String word = "Tutorialspoint";
      for(int i = 0; i < strArray.length; i++) {
         if(strArray[i].equals(word)) {
            buffer.append(strArray[i]+" ");
         } else {
            buffer.append(strArray[i].replaceAll(".", "#"));
         }
      }
      String result = buffer.toString();
      System.out.println(result);
   }
}
登录后复制

输出

Contents of the file:
Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.
[Hello, how, are, you, welcome, to, Tutorialspoint, we, provide, hundreds, of, technical, tutorials, for, free.]
#######################Tutorialspoint ############################################
登录后复制

以上是在Java中编写一个程序,将文件中的所有字符替换为'#”,除了特定的单词的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板