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
Lepaskan: 2023-09-13 08:57:17
ke hadapan
995 orang telah melayarinya

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.
Salin selepas log masuk

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);
   }
}
Salin selepas log masuk

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 ############################################
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan