使用 matlab 从文件中读取文本时跳过某些单词

发布于 2024-12-23 12:19:07 字数 234 浏览 3 评论 0原文

我创建了一个 matlab 程序来查找文本文件中的单词二元组及其频率。为此,我使用 textread 函数创建了一个字符串元胞数组:

unigrams = textread('file.txt','%s');

但我也希望省略一堆单词,如“to”、“the”、“is”、“or”等以及特殊字符“#”、“$”、“&”和我的单元格数组中的“%”。有没有办法在从原始文件中读取单词时排除这些单词。

谢谢。

I have created a matlab program to find word bigrams and their frequencies in a text file. For this purpose I have created a cell array of strings using textread function:

unigrams = textread('file.txt','%s');

But I also wish to omit a bunch of words like 'to', 'the', 'is', 'or', etc and special characters '#', '$', '&' and '%' from my cell array. Is there a way to exclude these words while reading the words from the raw file.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒几许 2024-12-30 12:19:07

您可以在阅读文本后使用 setdiff 删除不需要的单词:

unigrams = {'I' 'like' 'this' 'or' 'that' 'Here' 'are' 'some' 'symbols' '#' '
 '&'}
setdiff(unigrams, {'the', 'is' 'or' '#' '
 '&'}, 'stable')

unigrams = 
  Columns 1 through 8
    'I'   'like'   'this'   'or'   'that'   'Here'   'are'   'some'
  Columns 9 through 12
    'symbols'   '#'   '
   '&'
ans = 
    'I'   'like'   'this'   'that'   'Here'   'are'   'some'   'symbols'

You can use setdiff after reading the text to remove the unwanted words:

unigrams = {'I' 'like' 'this' 'or' 'that' 'Here' 'are' 'some' 'symbols' '#' '
 '&'}
setdiff(unigrams, {'the', 'is' 'or' '#' '
 '&'}, 'stable')

unigrams = 
  Columns 1 through 8
    'I'   'like'   'this'   'or'   'that'   'Here'   'are'   'some'
  Columns 9 through 12
    'symbols'   '#'   '
   '&'
ans = 
    'I'   'like'   'this'   'that'   'Here'   'are'   'some'   'symbols'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文