首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从.txt文件中删除整个单词,但当单词显示为子字符串时不删除

,可以通过以下步骤实现:

  1. 读取.txt文件:使用文件操作相关的编程语言函数或库,如Python的open()函数来打开文件,并使用read()函数读取文件内容。
  2. 分割文件内容为单词列表:将读取到的文件内容按照空格或其他分隔符进行分割,得到一个单词列表。
  3. 遍历单词列表:使用循环遍历单词列表中的每个单词。
  4. 判断单词是否为子字符串:对于每个单词,判断是否为要保留的子字符串。可以使用编程语言中的字符串操作函数或正则表达式来判断单词是否包含要保留的子字符串。
  5. 删除整个单词:如果单词不是要保留的子字符串,将其从单词列表中删除。
  6. 重新构建文本内容:将经过删除操作后的单词列表重新组合成文本内容。
  7. 写入.txt文件:使用文件操作相关的编程语言函数或库,如Python的write()函数将重新构建的文本内容写入原始的.txt文件中,覆盖原有内容。

以下是一个示例的Python代码实现:

代码语言:python
代码运行次数:0
复制
def delete_words_from_file(file_path, substring):
    # 读取.txt文件
    with open(file_path, 'r') as file:
        content = file.read()

    # 分割文件内容为单词列表
    words = content.split()

    # 遍历单词列表
    for word in words[:]:
        # 判断单词是否为子字符串
        if substring not in word:
            # 删除整个单词
            words.remove(word)

    # 重新构建文本内容
    new_content = ' '.join(words)

    # 写入.txt文件
    with open(file_path, 'w') as file:
        file.write(new_content)

# 调用函数删除单词
delete_words_from_file('example.txt', 'substring')

在上述代码中,file_path参数表示.txt文件的路径,substring参数表示要保留的子字符串。你可以根据实际情况修改这两个参数的值。请注意,这只是一个简单的示例代码,实际应用中可能需要考虑更多的异常处理和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux三剑客之grep,awk,sed命令必知必会

grep "linuxmi" test test1 test2 匹配文件整个单词。 默认情况下,即使在字符串中找到了Grep,也会输出所有出现的某种特定模式。...Grep显示包含匹配模式的整个句子。我们只能使用'-o'字符串显示搜索模式。...在这种情况下,我们将输出包含单词“linuxmi”的其他任何内容。...它不需要任何编译,并且用户可以使用数字函数,变量,字符串函数和逻辑运算符。 它使您能够以语句形式编写简单有效的程序,以在文件搜索特定模式,并在找到匹配项执行操作。...使用' awk ',我们将花括号括起来。 模式和动作都形成规则,整个awk程序都用单引号引起来。 如何在Linux中使用AWK命令 默认情况下,Awk命令用于打印文件的内容。

9.2K20

看动画轻松理解「Trie树」

Trie树样子 通过上图,可以发现 Trie树 的三个特点: 根节点包含字符,除根节点外每一个节点都只包含一个字符 根节点到某一节点,路径上经过的字符连接起来,该节点对应的字符串 每个节点的所有节点包含的字符都不相同...也就是说,cod是某个字符串的前缀串,并不能完全匹配任何字符串。 ?...cod的匹配路径 程序员不要一条咸鱼,要向 cook 靠拢:) Trie树的删除操作 Trie树的删除操作与二叉树的删除操作有类似的地方,需要考虑删除的节点所处的位置,这里分三种情况进行分析: 删除整个单词...删除整个单词 根节点开始查找第一个字符h 找到h节点后,继续查找h的下一个节点i i是单词hi的标志位,将该标志位去掉 i节点是hi的叶子节点,将其删除 删除后发现h节点叶子节点,并且不是单词标志位...删除分支单词删除整个单词 情况类似,区别点在于删除到 cook 的第一个 o ,该节点非叶子节点,停止删除,这样就完成cook字符串删除操作。

1.1K20
  • Linux常用命令大全(整理自用)

    f 开头的文件 rm -- -f* rmdir 命令 从一个目录删除一个或多个子目录项,删除某目录也必须具有对其父目录的写权限。...cp -ai a.txt test a.txt 建议一个链接(快捷方式) cp -s a.txt link_a.txt cat 命令 cat 主要有三大功能: 一次显示整个文件: cat filename...常用命令参数 -i 忽略搜索的大小写 -N 显示每行的行号 -o 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 /字符串:向下搜索“字符串”的功能 ?...tail 命令 用于显示指定文件末尾内容,指定文件,作为输入信息进行处理。常用查看日志文件。...默认情况下 locate 命令在搜寻数据库比由整个由硬盘资料来搜寻资料来得快,较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值,updatedb 每天会跑一次

    2.3K10

    Linux 之 Vim 编辑器基础到大成使用

    -o/-O #示例3.显示多个文件与退出打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...将光标定位到文件的开头 G 将光标定位到文件的末尾 #将 d 命令跟它们结合 d0 | d^ #删除光标当前位置(包含)到该行行首的所有字符 d$ #删除光标当前位置(包含)到该行行尾的所有字符...db #删除光标当前位置(包含)到单词起始处的所有字符 de #删除光标当前位置(包含)到单词结尾处的所有字符 dw #删除光标当前位置(包含)到下个单词起始处的所有字符 dh #删除光标前面一个字符...^ 删除光标当前位置(包含)到该行行首的所有字符,并进入插入模式 c$ 删除光标当前位置(包含)到该行行尾的所有字符,并进入插入模式 cb 删除光标当前位置(包含)到单词起始处的所有字符.... *(#) #光标停留在某个单词, 输入这条命令表示查找与该单词匹配的下(上)一个单词.

    2K10

    Vim编辑器基础入门

    -o/-O #示例3.显示多个文件与退出打开多个文件时候,再文件中进行切换 :ls #列出所有打开的文件 # 1 # "1.txt" 第 1 行 # 2 %a "...将光标定位到文件的开头 G 将光标定位到文件的末尾 #将 d 命令跟它们结合 d0 | d^ #删除光标当前位置(包含)到该行行首的所有字符 d$ #删除光标当前位置(包含)到该行行尾的所有字符...db #删除光标当前位置(包含)到单词起始处的所有字符 de #删除光标当前位置(包含)到单词结尾处的所有字符 dw #删除光标当前位置(包含)到下个单词起始处的所有字符 dh #删除光标前面一个字符...^ 删除光标当前位置(包含)到该行行首的所有字符,并进入插入模式 c$ 删除光标当前位置(包含)到该行行尾的所有字符,并进入插入模式 cb 删除光标当前位置(包含)到单词起始处的所有字符.... *(#) #光标停留在某个单词, 输入这条命令表示查找与该单词匹配的下(上)一个单词.

    1.8K20

    工作总结的30个常用Linux指令,实在记不住就别硬记了,看这篇就够了

    cp -s a.txt a_link.txt a.txt文件创建一个链接 9、Linux指令-cat 文本输出命令 cat filename 一次显示整个文件 cat > filename 键盘创建一个文件...命令参数: +n 第n行开始显示 -n 定义屏幕大小n行 +/pattern 在每个档案显示前搜寻该(pattern)字符串,然后该字串前两行之后开始显示 -c 顶部清屏,然后显示 -s 把连续的多个空行显示一行...,指定文件,作为输入信息进行处理,常用来查看日志文件 常用参数: -f 循环读取(常用于查看程序执行后递增的日志文件) -n 显示行数(后向前) tail -n 100 显示后100行日志文件...用来显示档案的开头至标准输出,默认 head 命令打印文件的开头 10 行 常用参数: -n 显示的行数(行数复数表示后向前数) head a.log -n 20 显示a.log文件前...log a.txt 改变文件a.txt的拥有者log,并显示改变信息 chown -cR log: log/ 改变文件夹log及文件、目录属主log 20、Linux指令-df 显示磁盘空间使用情况

    12400

    Sed..

    文章目录 Sed 选项 参数 sed命令 sed替换标记 sed元字符集 sed用法实例 替换操作:s命令 全面替换标记g 定界符 删除操作:d命令 已匹配字符串标记& 串匹配标记\1 组合多个表达式...file=:以选项中指定的script文件来处理输入的文本文件; -h或--help:显示帮助; -n或--quiet或——silent:仅显示script处理后的结果; -V或--...: sed 's/book/books/g' file 需要从第N处匹配开始替换,可以使用 /Ng: echo sksksksksksk | sed 's/sk/SK/2g' skSKSKSKSKSK...,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,使用...#偶数行 方法2: sed -n '1~2p' test.txt #奇数行 sed -n '2~2p' test.txt #偶数行 打印匹配字符串的下一行 grep -A 1 SCC URFILE

    1.6K20

    大数据开发工程师基本功修炼之Linux学习笔记(三)

    显示 第n项 一直到行尾 n-m 显示 第n项 到 第m项(包括m) head -2 1.txt | cut -d ':' -f 1,2 head -2 1.txt | cut -d ':' -...所有内容 sort -t ',' -k2nr score.txt 3 wc命令 3.1 目标 显示指定文件 字节数, 单词数, 行数 信息. 3.2 路径 第一步: 显示指定文件 字节数, 单词数,...第二步: 只显示 文件 的行数 第三步: 统计多个文件的 行数 单词数 字节数 第四步: 查看 /etc 目录下 有多少个 内容 3.3 实现 第一步: 显示指定文件 字节数, 单词数, 行数 信息....1 删除01.txt前3行数据,并显示行号 可选项 英文 含义 d delete 删除指定内容 答案: nl 01.txt | sed -e '1,3d' 练习2 保留1.txt前4行数据,....txt的1,2行替换为aaa,并显示行号 选项 英文 2c 新字符串 replace 使用新字符串 替换 选中的行 答案: nl passwd | sed -e '1,2c aaa' 第五步

    45430

    统计文件中出现的单词次数

    这里以kevin.txt文件内容(单词由一个或多个空格字符分隔)例进行简单说明 [root@centos6-test06 ~]# cat /root/kevin.txt the world kevin...利用管道组成的一条命令) 写一个shell脚本,查找kevin.txt文本n个出现频率最高的单词,输出结果需要显示单词出现的次数,并按照次数大到小排序。...分为以下几步: 1)将文本文件以一行一个单词的形式显示出来; 2)将单词的大写字母转化成小写字母,即Word和word认为一个单词; 3)对单词进行排序; 4)对排序好的单词列表统计每个单词出现的次数...#$2是目标文本文件名称也可是是字符串 tr -cs "[a-z][A-Z][0-9]" "\n" | #tr是sed的简化,-c用前字符串字符集的补集替换成后字符串即将不是字符和数字的单词替换换行...uniq -c | #删除文本文件重复出现的行,-c在每列旁边显示该行重复出现的次数 sort -k1nr -k2

    3.8K111

    为什么数据结构与算法对前端开发很重要

    Trie树样子 通过上图,可以发现 Trie树 的三个特点: 根节点包含字符,除根节点外每一个节点都只包含一个字符 根节点到某一节点,路径上经过的字符连接起来,该节点对应的字符串 每个节点的所有节点包含的字符都不相同...也就是说,cod是某个字符串的前缀串,并不能完全匹配任何字符串。 ?...删除整个单词 根节点开始查找第一个字符h 找到h节点后,继续查找h的下一个节点i i是单词hi的标志位,将该标志位去掉 i节点是hi的叶子节点,将其删除 删除后发现h节点叶子节点,并且不是单词标志位...删除前缀单词 这种方式删除比较简单。 只需要将cod单词整个字符串查找完后,d节点因为不是叶子节点,只需将其单词标志去掉即可。 删除分支单词(比如 cook ) ?...删除分支单词删除整个单词 情况类似,区别点在于删除到 cook 的第一个 o ,该节点非叶子节点,停止删除,这样就完成cook字符串删除操作。

    61810

    Linux基础Day03

    指定文件 截取内容 参数 参数 英文 含义 -c characters 按字符选取内容 head -2 1.txt | cut -c 5 第二步: 截取出1.txt文件前2行以”:”进行分割的第...显示 第n项 一直到行尾 n-m 显示 第n项 到 第m项(包括m) head -2 1.txt | cut -d ':' -f 1,2 head -2 1.txt | cut -d ':' -...第二步: 只显示 文件 的行数 第三步: 统计多个文件的 行数 单词数 字节数 0第四步: 查看 /etc 目录下 有多少个 内容 3.3 实现 第一步: 显示指定文件 字节数, 单词数, 行数 信息...1 删除01.txt前3行数据,并显示行号 可选项 英文 含义 d delete 删除指定内容 答案: nl 01.txt | sed -e '1,3d' 练习2 保留1.txt前4行数据,....txt的1,2行替换为aaa,并显示行号 选项 英文 2c 新字符串 replace 使用新字符串 替换 选中的行 答案: nl passwd | sed -e '1,2c aaa' 第五步

    56920

    linuxsed命令总结

    处理,把当前处理的行存储在临时缓冲区,称为模式空间(pattern space),接着用sed命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。...b lable # 分支到脚本带有标记的地方,如果分支不存在则分支到脚本的末尾。 r file # file读行。...: sed 's/book/books/g' file 需要从第N处匹配开始替换,可以使用 /Ng: echo sksksksksksk | sed 's/sk/SK/2g' skSKSKSKSKSK...2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,...#偶数行 方法2: sed -n '1~2p' test.txt #奇数行 sed -n '2~2p' test.txt #偶数行 打印匹配字符串的下一行 grep -A 1 SCC URFILE

    3.2K20

    超详细vim操作解析

    显示行号      :set nonu       :取消显示行号 :nohl      :取消显示高亮(建议设置,当你搜索单词的时候显示不明显) :wq 和 :x的功能一样类似,当你编辑了一个文件使用任意一个都可以...---- vim扩展 2.删除光标所在处到行尾字符 在一般模式下输入大写“D”或者输入“d$” 3.删除光标所在处到行首字符 在一般模式下输入大写“d^” 4.删除光标所在行到文件末尾行 在一般模式下输入大写...用cat或more查看文件内容,显示乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示乱码!...二、        解密用vi加密的文件(前提是你知道加密的密码): 1)        用 vim/vi 打开文件如text.txt,要输入正确的密码,然后在编辑,将密码设置空,方法是输入下面的命令...---- vim快速删除指定的一段字符 因为不是一行,所以用dd不行,用x去删除的话,又太慢。今天网上发现一种特别快速删除的方法。 那就是使用da,如何使用,请看下面的例子。

    1.5K110

    Linux常用命令

    (3)删除以 -f 开头的文件 rm -- -f* 6、rmdir 命令 从一个目录删除一个或多个子目录项,删除某目录也必须具有对其父目录的写权限。...第二个参数目录,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录。...cp -ai a.txt test (2) a.txt 建议一个链接(快捷方式) cp -s a.txt link_a.txt 9、cat 命令 cat 主要有三大功能: 1.一次显示整个文件: cat...常用参数: -n 显示的行数(行数复数表示最后向前数) 实例: (1)显示 1.log 文件前 20 行 head 1.log -n 20 (2)显示 1.log 文件前 20 字节 head...默认情况下 locate 命令在搜寻数据库比由整个由硬盘资料来搜寻资料来得快,较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值,updatedb 每天会跑一次

    73110

    【linux命令讲解大全】081.sed:功能强大的流式文本编辑器

    d # 删除删除选择的行。 D # 删除模板块的第一行。 s # 替换指定字符 h # 拷贝模板块的内容到内存的缓冲区。 H # 追加模板块的内容到内存的缓冲区。...: sed 's/book/books/g' file 需要从第N处匹配开始替换,可以使用 /Ng: echo sksksksksksk | sed 's/sk/SK/2g' skSKSKSKSKSK...,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,使用...里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面: sed '/test/r file' filename 写入文件:w命令 在example中所有包含...#偶数行 方法2: sed -n '1~2p' test.txt #奇数行 sed -n '2~2p' test.txt #偶数行 打印匹配字符串的下一行 grep -A 1 SCC URFILE

    23810

    《鸟哥的linux私房菜》基本命令笔记

    9.查看文件内容 cat: 第一行开始显示,-A 显示换行符 $ ,-T 显示tab键(^I),-n 显示行号 tac:最后一行开始显示 nl:显示的时候,输出行号 more:一页一页地显示文件内容...-name pattern 条件表达式,检查文件名是否和模式pattern相同。pattern可以用正则表达式给出。必要使用引号。文件名与pattern一致.返回真值.否则为假。...,文件包含字符串“telnet”(区分大小写)的文件的数目。...多行模式 更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。 忽略大小写 指定区分大小写的匹配。...$'  t1.txt  // 搜索行尾!的一行 (6)[ ] 行为一致 正则表达式在vi 的使用: 在当前行删除aa到zz的所有字符。 :s/aa.

    2.4K60

    Linux 常用命令

    (3)删除以 -f 开头的文件 rm -- -f* 6、rmdir 命令 从一个目录删除一个或多个子目录项,删除某目录也必须具有对其父目录的写权限。...第二个参数目录,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录。...cp -ai a.txt test (2) a.txt 建立一个链接(快捷方式) cp -s a.txt link_a.txt 9、cat 命令 cat 主要有三大功能: 1.一次显示整个文件: cat...常用参数: -n 显示的行数(行数复数表示最后向前数) 实例: (1)显示 1.log 文件前 20 行 head 1.log -n 20 (2)显示 1.log 文件前 20 字节 head...默认情况下 locate 命令在搜寻数据库比由整个由硬盘资料来搜寻资料来得快,较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值,updatedb 每天会跑一次

    1.1K62

    Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

    -c 只计算显示符合范本样式的行数,不显示详细内容 -d 指定要查找的是目录而非文件,必须使用这项参数,否则grep命令将回报信息并停止动作。...-e 指定字符串作为查找文件内容的范本样式。 -E 将范本样式延伸的普通表示法来使用,意味着能使用扩展正则表达式。...-f 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式每一列的范本样式。 -F 将范本样式视为固定字符串的列表。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 串匹配标记 & 已匹配字符串标记 3.6 元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...txt 666.txt #替换123.txt、666.txt内的第二行往后每次增加两行的bcksh,每行全面替换 给文件名\单词前统一替换加前缀或后缀或前后缀 需用到元字符集:^ 匹配行开始,如

    9.3K21

    Linux 【入门篇】——常用命令学习

    (3)删除以 -f 开头的文件 rm -- -f* 6、rmdir 命令 从一个目录删除一个或多个子目录项,删除某目录也必须具有对其父目录的写权限。...第二个参数目录,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录。...cp -ai a.txt test (2) a.txt 建立一个链接(快捷方式) cp -s a.txt link_a.txt 9、cat 命令 cat 主要有三大功能: 1.一次显示整个文件: cat...常用参数: -n 显示的行数(行数复数表示最后向前数) 实例: (1)显示 1.log 文件前 20 行 head 1.log -n 20 (2)显示 1.log 文件前 20 字节 head...默认情况下 locate 命令在搜寻数据库比由整个由硬盘资料来搜寻资料来得快,较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值,updatedb 每天会跑一次

    1.1K10

    Linux命令大总结,一篇就够了(建议新手收藏)

    输出重定向 2> 标准错误输出 cat not_exist_file.csv > res.txt 2> errors.log 当我们 cat 一个文件,会把文件内容打印到屏幕上,这个是标准输出; 使用了...> res.txt ,则不会打印到屏幕,会把标准输出写入文件 res.txt 文件; 2> errors.log 发生错误时会写入 errors.log 文件。...默认地, rsync 在同步并不会删除目标目录的文件,例如你在源目录删除一个文件,但是用 rsync 同步,它并不会删除同步目录的相同文件。...删除一个单词:将光标置于一个单词的首字母处,然后按下 dw 。 删除多个单词:例如先按数字键 2 再按 dw 就可以删除两个单词了。 光标所在位置删除至行首:d0 。...光标所在位置删除至行末:d$ 。 复制单词,行 复制行:按两次 y 会把光标所在行复制到内存,和 dd 类似, dd 用于“剪切”光标所在行。 复制单词:yw 会复制一个单词

    1.1K31
    领券