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