Maison > Java > javaDidacticiel > le corps du texte

Écrivez un programme en Java pour remplacer tous les caractères d'un fichier par '#' sauf des mots spécifiques

WBOY
Libérer: 2023-09-13 08:57:17
avant
972 Les gens l'ont consulté

Écrivez un programme en Java pour remplacer tous les caractères dun fichier par # sauf des mots spécifiques

Méthode split() de la classe String. Divisez la chaîne actuelle en correspondances de l’expression régulière donnée. Le tableau renvoyé par cette méthode contient chaque sous-chaîne de cette chaîne qui se termine par une autre sous-chaîne correspondant à l'expression donnée ou se terminant à la fin de la chaîne.

replaceAll() La méthode de la classe String accepte deux chaînes représentant des expressions régulières et une chaîne de remplacement et remplace la valeur correspondante par la chaîne donnée.

Remplacez tous les caractères du fichier, à l'exception de mots spécifiques, par "#" (sens unique) -

  • Lisez le contenu du fichier dans une chaîne.

  • Créez un objet StringBuffer vide.

  • Utilisez la méthode split() pour diviser la chaîne obtenue en un tableau de chaînes.

  • Parcourez le tableau obtenu.

  • Si un élément correspond au mot souhaité, ajoutez-le au tampon String.

  • Remplacez tous les caractères des mots restants par "#" et ajoutez-les à l'objet StringBuffer.

  • Enfin, convertissez StingBuffer en String.

    >

Exemple

Supposons que nous ayons un fichier appelé sample.txt qui contient le contenu suivant-

Hello how are you welcome to Tutorialspoint we provide hundreds of technical tutorials for free.
Copier après la connexion

Le programme suivant lit le contenu du fichier sous forme de chaîne et convertit tous les caractères qu'il contient, à l'exception d'un mot spécifique. Remplacez par " #".

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);
   }
}
Copier après la connexion

sortie

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 ############################################
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal