Swift:如何识别和删除字符串中的介词

学习者101

我试图识别用户条目中要搜索的关键词,所以我想到了过滤掉某些词性以便提取关键词以在数据库中进行查询。目前,我使用下面的代码从字符串中替换单词“ of”

 let rawString = "I’m jealous of my parents. I’ll never have a kid as cool as theirs, one who is smart, has devilishly good looks, and knows all sorts of funny phrases."

 var filtered = self.rawString.replacingOccurrences(of: "of", with: "")

我现在想做的就是扩展它以替换字符串中的所有介词。

我当时想做的是创建大量已知介词,例如

 let prepositions = ["in","through","after","under","beneath","before"......]

然后用空格将字符串分开

var WordList : [String] = filtered.components(separatedBy: " ")

然后在单词表中循环查找介词匹配项并将其删除。创建列表很丑陋,可能对我的代码没有效率。

从字符串中检测和删除介词的最佳方法是什么?

亚伦·布拉格(Aaron Brager)

用途NaturalLanguage

import NaturalLanguage

let text = "The ripe taste of cheese improves with age."
let tagger = NLTagger(tagSchemes: [.lexicalClass])
tagger.string = text
let options: NLTagger.Options = [.omitPunctuation, .omitWhitespace]

var newSentence = [String]()

tagger.enumerateTags(in: text.startIndex..<text.endIndex, unit: .word, scheme: .lexicalClass, options: options) { tag, tokenRange in
    guard let tag = tag, tag != .preposition else { return true }
    newSentence.append("\(text[tokenRange])")
    return true
}

print("Input: \(text)")
print("Output: \(newSentence.joined(separator: " "))")

打印:

Input: The ripe taste of cheese improves with age.
Output: The ripe taste cheese improves age

注意两个介词,并被删除。我的方法还删除了标点符号。您可以使用该.omitPunctuation选项进行调整

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从单元格的字符串中识别和删除单个字母?

来自分类Dev

大写字符串,但连词和介词除外

来自分类Dev

如何搜索和删除字符串中的字符

来自分类Dev

如何从字符串中删除\ n和\ r

来自分类Dev

如何从字符串中删除空格和重复的数字

来自分类Dev

如何从字符串中删除主题标签和URL

来自分类Dev

如何检查和删除字符串中的html标签

来自分类Dev

如何拆分和删除列表中的字符串?

来自分类Dev

如何从字符串中删除括号和字符串

来自分类Dev

结合使用Perl和Regex,如何删除字符串中的字符串?

来自分类Dev

Mongodb:如何从逗号分隔的字符串中查找和删除字符串

来自分类Dev

如何查找和删除字符串中的多个子字符串

来自分类Dev

如何从字符串中删除字符

来自分类Dev

如何从字符串中删除字符?

来自分类Dev

如何从字符串中删除字符?

来自分类Dev

如何删除字符串中的字符?

来自分类Dev

如何快速识别字符串中的大写和小写字符?

来自分类Dev

如何从Oracle SQL中的条目列中识别和标记子字符串

来自分类Dev

如何从字符串中删除子字符串?

来自分类Dev

如何从字符串中删除子字符串?

来自分类Dev

如何从字符串数组中删除字符串?

来自分类Dev

如何从文本中删除动词,介词,连词等?

来自分类Dev

如何从文本中删除动词,介词,连词等?

来自分类Dev

使用擦除和删除从字符串中删除字符

来自分类Dev

如何识别字符串中的字符?

来自分类Dev

如何从包含数字和字符的pandas列中的字符串中删除子字符串

来自分类Dev

如何从 Swift 中的字符串中删除不可见字符?

来自分类Dev

如何使用gsub删除字符串中任意字符之前和之后的特定字符

来自分类常见问题

如何从字符串中删除前缀?

Related 相关文章

  1. 1

    如何从单元格的字符串中识别和删除单个字母?

  2. 2

    大写字符串,但连词和介词除外

  3. 3

    如何搜索和删除字符串中的字符

  4. 4

    如何从字符串中删除\ n和\ r

  5. 5

    如何从字符串中删除空格和重复的数字

  6. 6

    如何从字符串中删除主题标签和URL

  7. 7

    如何检查和删除字符串中的html标签

  8. 8

    如何拆分和删除列表中的字符串?

  9. 9

    如何从字符串中删除括号和字符串

  10. 10

    结合使用Perl和Regex,如何删除字符串中的字符串?

  11. 11

    Mongodb:如何从逗号分隔的字符串中查找和删除字符串

  12. 12

    如何查找和删除字符串中的多个子字符串

  13. 13

    如何从字符串中删除字符

  14. 14

    如何从字符串中删除字符?

  15. 15

    如何从字符串中删除字符?

  16. 16

    如何删除字符串中的字符?

  17. 17

    如何快速识别字符串中的大写和小写字符?

  18. 18

    如何从Oracle SQL中的条目列中识别和标记子字符串

  19. 19

    如何从字符串中删除子字符串?

  20. 20

    如何从字符串中删除子字符串?

  21. 21

    如何从字符串数组中删除字符串?

  22. 22

    如何从文本中删除动词,介词,连词等?

  23. 23

    如何从文本中删除动词,介词,连词等?

  24. 24

    使用擦除和删除从字符串中删除字符

  25. 25

    如何识别字符串中的字符?

  26. 26

    如何从包含数字和字符的pandas列中的字符串中删除子字符串

  27. 27

    如何从 Swift 中的字符串中删除不可见字符?

  28. 28

    如何使用gsub删除字符串中任意字符之前和之后的特定字符

  29. 29

    如何从字符串中删除前缀?

热门标签

归档