首页
学习
活动
专区
工具
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.3K20

看动画轻松理解「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.4K10

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

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

    2K10

    工作中总结的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 显示磁盘空间使用情况

    21300

    Vim编辑器基础入门

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

    1.8K20

    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的晨曦:指令初学者的旅程(下)

    当head 从标准输入读取数据时,这个选项很有用,因为它会显示一个默认的文件名(通常是-)来表示输入来自标准输入。...-v 或 --verbose:当有多个文件参数时,总是输出各个文件名。 -q 或 --quiet 或 --silent:当有多个文件参数时,不输出各个文件名。...18.5 匹配整个单词 使用-w选项匹配整个单词(避免匹配部分单词)。...例如,仅匹配单词“hello”而不是“hello123”: grep -w "hello" example.txt 18.6 查找不匹配的行 使用-v选项查找不包含指定模式的行。...在输入长命令时,快速跳到行尾。 Ctrl + U:删除光标之前的所有内容。 用于快速清除当前命令行中的内容,方便重新输入。 Ctrl + K:删除光标之后的所有内容。

    11310

    大数据开发工程师基本功修炼之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' 第五步

    45530

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

    这里以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字符串的删除操作。

    62010

    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' 第五步

    57720

    linux中sed命令总结

    处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(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 每天会跑一次

    73310

    《鸟哥的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命令讲解大全】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

    25710

    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 常用命令

    (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内的第二行往后每次增加两行的bck为sh,每行全面替换 给文件名\单词前统一替换加前缀或后缀或前后缀 需用到元字符集:^ 匹配行开始,如

    9.3K21
    领券