在 Cocoa 中解析自由格式文本

发布于 2024-12-22 07:43:36 字数 408 浏览 0 评论 0原文

我的 Cocoa 应用程序需要解析通过 NSTextView 输入的自由格式文本。该过程的结果应该是关键字字符串的集合,然后可以将其显示以供用户查看,并可以选择使用核心数据进行持久化。

我查看了 NSScanner,但从 Apple 文档中的示例来看,它似乎无法显示给定字符串中的关键字字符串列表。它的重点似乎更多地是在另一个字符串中查找给定字符串的特定出现。

还有其他选择吗?

编辑:为了使这一点更清楚:输入文本中的所有单词都是潜在的关键字,因此基本上应考虑所有由空格分隔的单词。假设用户可以指定被视为关键字的字符串所需的最小长度,以消除诸如“to”、“of”、“in”等不相关的单词。解析完成后,应显示已解析关键字的列表呈现(可能使用表格视图)。然后,用户可以选择或拒绝每个关键字。被拒绝的关键字将被存储,因此随着扫描更多文本,解析可以变得更加智能。

My Cocoa app needs to parse free format text entered via NSTextView. The result of the process should be a collection of keyword strings which can then be displayed for review to the user and optionally persisted using Core Data.

I looked at NSScanner but from the samples in Apple's documentation it looks like it's not capable of presenting a list of keyword strings from a given string. Its focus seems to be more on finding a particular occurrence of a given string within another string.

Are there alternatives?

EDIT: To make this clearer: all words in the entered text are potential keywords, so basically all words delimited by spaces should be considered. Lets assume that the user can specify a minimum required length for a string to be considered a keyword to eliminate irrelevant words like "to", "of", "in" etc. Once the parsing is done, a list of parsed keywords should be presented (possibly using a table view). The user can then select or reject each keyword. Rejected keywords will be stored so the parsing can be made smarter as more texts are scanned.

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

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

发布评论

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

评论(1

山田美奈子 2024-12-29 07:43:36

你绝对可以使用 NSScanner 来做到这一点。 NSScanner 所做的就是逐个字符地遍历字符串。由您决定关键字边界是什么并使用扫描仪解释它们。

我建议阅读 Apple 的 字符串编程指南

You can absolutely use NSScanner to do this. All NSScanner does is go through a string character by character. It is up to you to decide what the keyword boundaries are and to interpret them using the scanner.

I suggest reading more about NSScanner in Apple's String Programming Guide.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文