如何用“ *”替换文本文件中的某些单词?

杰森·塔帕(Jason Thapa)

您好,我有一个文本文件

  Treadstone project

  Jason Bourne is to neutralize Wombosi.

  Nicky Parsons is the technician on the job

  Bourne has shown interest in Marie Kreutz

  Do not leak information about Blackbriar.

我有一个细胞阵列

words = {'treadstone','bourne','wombosi','parsons','blackbriar'}

我想得到这个

********** project

Jason ****** is to neutralize *******.

Nicky ******* is the technician on the job

****** has shown interest in Marie Kreutz

Do not leak information about **********.

但是我的代码正在打印

********** project

Jason ****** is to neutralize Wombosi

Jason bourne is to neutralize *******.

Nicky ******* is the technician on the job

****** has shown interest in Marie Kreutz

Do not leak information about **********.

这是我的代码:

while ischar(line)
if strcmp(line, '')
    fprintf(output, line);
    line = fgetl(fh);
end
[T N] = size(words);
for i = 1:N
    mat = words{i}; %extreact the first word to comapre it to the text file
    if strfind(lower(line), mat)
        t = mat; 
        t(1:end) = '*'; %replace the word with *
        ht = strfind(lower(line), mat); %find its location 
        hat = lower(line(ht));
        line(ht) = hat; %replace the word with lower case
        lalu = strrep(line, mat, t); 

        fprintf(output, '%s\n', lalu);
    else 
        hat = 0;
    end


end

line = fgetl(fh);
end

任何帮助,将不胜感激。谢谢你。

雷瑞恩

您的代码大部分都起作用。但是,如果一个句子中有多个匹配字符串,则说明您没有正确更新该句子以屏蔽每个单词。您仅逐个阻止单词,而不更新一个字符串中的所有单词。完成后,您还需要将该fprintf语句放入内部循环之外。通过将fprintf语句放入for循环中,您将在成功找到句子中的特定字符串时编写字符串。您只需要在检查完所有单词后才将字符串写到文本上-这就是为什么文本文件中会重复某些句子的原因。这是因为句子中有多个匹配字符串。

因此,请执行以下操作:

while ischar(line)
if strcmp(line, '')
    fprintf(output, line);
    line = fgetl(fh);
end
[T N] = size(words);
for i = 1:N
    mat = lower(words{i}); %extreact the first word to comapre it to the text file
                           % Also cast to lower to ensure case-sensitive
    if strfind(lower(line), mat)
        t = mat; 
        t(1:end) = '*'; %replace the word with *
        ht = strfind(lower(line), mat); %find its location 
        hat = lower(line(ht));
        line(ht) = hat; %replace the word with lower case
        line = strrep(line, mat, t);   %// UPDATE STRING HERE
    else 
        hat = 0;
    end           
end

fprintf(output, '%s\n', line); %// Print out string once all replacing is done

line = fgetl(fh);
end

在使您的代码正常工作之前,我必须进行一些设置。我将您的文本放在名为的文件中bourne.txt,然后在运行代码之前执行了此操作:

fh = fopen('bourne.txt', 'r');
line = fgetl(fh);
words = {'treadstone','bourne','wombosi','parsons','blackbriar'};
output = fopen('output.txt', 'w');

我把文字写到了output.txt当我使用上面的代码并运行更正的代码时,我得到了:

 ********** project
 Jason ****** is to neutralize *******.
 Nicky ******* is the technician on the job
 ****** has shown interest in Marie Kreutz
 Do not leak information about **********.

既然我们已经成功地对您的文本文件进行了分类,Jason Bourne将会为您感到骄傲:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用python替换文本文件中特定单词附近的单词

来自分类Dev

如何替换文本文件中的单词而不推送远处的单词?

来自分类Dev

Python如何替换文本文件中特定行中的特定单词?

来自分类Dev

如何使Tampermonkey用户脚本替换文本文件中的单词?

来自分类Dev

如何用bash替换文本文件中的单行?

来自分类Dev

如何用bash替换文本文件中的单行?

来自分类Dev

如何替换文本文件中的多行?

来自分类Dev

如何替换文本文件中的行?

来自分类Dev

如何替换文本文件中的字母?

来自分类Dev

如何替换文本文件中 url 的值

来自分类Dev

如何用用户输入替换文本文件中的行的一部分?

来自分类Dev

如何使用bash脚本中的数据替换文本文件中的模板变量

来自分类Dev

如何在C中替换文本文件中的字符串/短语

来自分类Dev

如何使用列表替换文本文件中的列?

来自分类Dev

如何使用ofstream c ++替换文本文件中的特定值?

来自分类Dev

如何读取和替换文本文件一栏中的特定值?

来自分类Dev

如何使用Powershell替换文本文件中的路径

来自分类Dev

如何搜索字符串并替换文本文件中的字符串?

来自分类Dev

Python:如何替换文本文件中一行的最后一个单词?

来自分类Dev

Python:如何替换文本文件中一行的最后一个单词?

来自分类Dev

如何仅替换文件中的某些单词

来自分类Dev

如何交换文本文件中的行?

来自分类Dev

如何从文本文件的字符串中删除/丢弃某些单词?

来自分类Dev

如何在文本文件中的逗号之间打印某些单词?

来自分类Dev

如何从bash中的文本文件中提取某些单词和值

来自分类Dev

如何在Java中替换现有文本文件中的单词

来自分类Dev

如何用文本文件中的随机行多次替换字符串

来自分类Dev

如何用文本文件中的shell脚本替换多个字符串

来自分类Dev

如何在文本文件中的特定行中一次性替换文本?

Related 相关文章

  1. 1

    如何使用python替换文本文件中特定单词附近的单词

  2. 2

    如何替换文本文件中的单词而不推送远处的单词?

  3. 3

    Python如何替换文本文件中特定行中的特定单词?

  4. 4

    如何使Tampermonkey用户脚本替换文本文件中的单词?

  5. 5

    如何用bash替换文本文件中的单行?

  6. 6

    如何用bash替换文本文件中的单行?

  7. 7

    如何替换文本文件中的多行?

  8. 8

    如何替换文本文件中的行?

  9. 9

    如何替换文本文件中的字母?

  10. 10

    如何替换文本文件中 url 的值

  11. 11

    如何用用户输入替换文本文件中的行的一部分?

  12. 12

    如何使用bash脚本中的数据替换文本文件中的模板变量

  13. 13

    如何在C中替换文本文件中的字符串/短语

  14. 14

    如何使用列表替换文本文件中的列?

  15. 15

    如何使用ofstream c ++替换文本文件中的特定值?

  16. 16

    如何读取和替换文本文件一栏中的特定值?

  17. 17

    如何使用Powershell替换文本文件中的路径

  18. 18

    如何搜索字符串并替换文本文件中的字符串?

  19. 19

    Python:如何替换文本文件中一行的最后一个单词?

  20. 20

    Python:如何替换文本文件中一行的最后一个单词?

  21. 21

    如何仅替换文件中的某些单词

  22. 22

    如何交换文本文件中的行?

  23. 23

    如何从文本文件的字符串中删除/丢弃某些单词?

  24. 24

    如何在文本文件中的逗号之间打印某些单词?

  25. 25

    如何从bash中的文本文件中提取某些单词和值

  26. 26

    如何在Java中替换现有文本文件中的单词

  27. 27

    如何用文本文件中的随机行多次替换字符串

  28. 28

    如何用文本文件中的shell脚本替换多个字符串

  29. 29

    如何在文本文件中的特定行中一次性替换文本?

热门标签

归档