Java程序用于替换句子中的单词为星号


在本文中,我们将学习如何使用Java替换句子中特定单词为星号。此技术可用于出于隐私或审查目的而模糊文本中的某些单词。

问题陈述

开发一个Java程序,该程序接收一个句子和一个要审查的单词作为输入,然后输出用星号替换指定单词的句子,同时保留句子的原始格式。

输入

This is a sample only, the sky is blue, water is transparent

输出

This is a ****** only, the sky is blue, water is transparent

用星号替换句子中单词的步骤

  • 开始。
  • 定义一个函数replace_word,该函数接收一个句子和一个目标单词。
  • 使用正则表达式根据空格将句子拆分为单词数组。
  • 创建一个与要替换的单词长度相同的星号字符串。
  • 使用for循环遍历单词数组,将目标单词的任何出现替换为星号字符串。
  • 将单词组合回单个字符串,保持原始间距。
  • 将修改后的句子打印到控制台。
  • 结束

Java程序用于替换句子中的单词为星号

要替换句子中的单词为星号,Java程序如下所示:

public class Demo{
 static String replace_word(String sentence, String pattern){
String[] word_list = sentence.split("\s+");
String my_result = "";
String asterisk_val = "";
for (int i = 0; i < pattern.length(); i++)
asterisk_val += '*';
int my_index = 0;
for (String i : word_list){
 if (i.compareTo(pattern) == 0)
  word_list[my_index] = asterisk_val;
 my_index++;
}
for (String i : word_list)
   my_result += i + ' ';
return my_result;
 }
 public static void main(String[] args){
String sentence = "This is a sample only, the sky is blue, water is transparent ";
String pattern = "sample";
System.out.println(replace_word(sentence, pattern));
 }
}

输出

This is a ****** only, the sky is blue, water is transparent

代码解释

名为Demo的类包含一个名为replace_word的函数,该函数将句子和模式作为参数。句子被拆分并存储在字符串数组中。定义一个空字符串,并根据其长度迭代模式。星号值定义为*,对于句子中的每个字符,将字符与模式进行比较,并将特定出现替换为星号符号。最终字符串显示在控制台上。

更新于: 2024年7月24日

2K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告