Rumah >Java >javaTutorial >Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan '#' kecuali perkataan tertentu

Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan '#' kecuali perkataan tertentu

WBOY
WBOYke hadapan
2023-09-13 08:57:17988semak imbas

Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan # kecuali perkataan tertentu

Kaedah split() kelas rentetan. Pisahkan rentetan semasa kepada padanan ungkapan biasa yang diberikan. Tatasusunan yang dikembalikan oleh kaedah ini mengandungi setiap subrentetan rentetan ini yang ditamatkan oleh subrentetan lain yang sepadan dengan ungkapan yang diberikan atau ditamatkan pada penghujung rentetan.

replaceAll() Kelas Kaedah String menerima dua rentetan yang mewakili ungkapan biasa dan rentetan gantian dan menggantikan nilai yang sepadan dengan rentetan yang diberikan.

Ganti semua aksara dalam fail kecuali perkataan tertentu dengan "#" (sehala) -

  • Baca kandungan fail ke dalam rentetan.

  • Buat objek StringBuffer kosong.

  • Gunakan kaedah split() untuk memisahkan rentetan yang diperoleh kepada tatasusunan Rentetan.

  • Traverse array yang diperolehi.

  • Jika mana-mana elemen di dalamnya sepadan dengan perkataan yang diingini, tambahkannya pada penimbal String.

  • Gantikan semua aksara dalam perkataan yang tinggal dengan "#" dan tambahkannya pada objek StringBuffer.

  • Akhir sekali tukar StingBuffer kepada String.

    >

Contoh

Andaikan kita mempunyai fail bernama sample.txt yang mengandungi kandungan berikut-

Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.

Atur cara berikut membaca kandungan fail sebagai rentetan dan menukar semua aksara di dalamnya kecuali perkataan tertentu Gantikan dengan " #".

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);
   }
}

output

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 ############################################

Atas ialah kandungan terperinci Tulis program dalam Java untuk menggantikan semua aksara dalam fail dengan '#' kecuali perkataan tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam