我正在 Python中 使用 NLTK中 的标记器。
已经有很多答案可以消除论坛上的标点符号。但是,它们都不能同时解决以下所有问题:
'*u*', '''','""'
有解决这两个问题的优雅方法吗?
如果您想一次性对字符串进行标记化,我认为您唯一的选择就是使用nltk.tokenize.RegexpTokenizer
。通过以下方法,您可以在完全删除标点符号之前,使用标点符号作为标记来删除字母字符(如您的第三个要求中所述)。换句话说,此方法将*u*
在剥离所有标点符号之前删除。
因此,解决此问题的一种方法是标记空白,如下所示:
>>> from nltk.tokenize import RegexpTokenizer
>>> s = '''He said,"that's it." *u* Hello, World.'''
>>> toker = RegexpTokenizer(r'((?<=[^\w\s])\w(?=[^\w\s])|(\W))+', gaps=True)
>>> toker.tokenize(s)
['He', 'said', 'that', 's', 'it', 'Hello', 'World'] # omits *u* per your third requirement
这应该满足您上面指定的所有三个条件。但是请注意,该令牌生成器不会返回令牌"A"
。此外,我仅对以标点符号开头 和
结尾的单个字母进行标记。否则,“开始”。不会返回令牌。您可能需要以其他方式细化正则表达式,具体取决于数据的外观和期望。
问题内容: 有人知道一种从SQL Server的字段中删除标点符号的好方法吗? 我在想 但是当我打算删除大量不同的字符时,这似乎有点乏味,例如:!@#$%^&*()<>:“ 提前致谢 问题答案: 理想情况下,您可以使用如上所述的C#+ LINQ之类的应用程序语言来执行此操作。 但是,如果您仅想在T-SQL中执行此操作,一种使事情变得更整洁的方法是首先创建一个表,其中包含要删除的所有标点符号。 接下
问题内容: 例如: 我可以这样做吗? 问题答案: 一个非常简单的实现是: 并继续添加任何其他类型的标点符号。 一种更有效的方法是 编辑:这里有关于效率和其他实现的更多讨论: 在Python中从字符串中删除标点符号的最佳方法
我试图找出从字符串中删除所有标点符号和空格的正确方法,但保留撇号不变,例如: 不会留下来,但“欲望”会变成“欲望”。 我试过使用
问题内容: 我想删除字符串中的所有前导和尾随标点符号。我怎样才能做到这一点? 基本上,我想保留单词之间的标点符号,并且需要删除所有开头和结尾的标点符号。 ,,,,,允许如果由字母或数字环绕 如果以字母或数字开头,则允许 我试过了 但是没有用! 问题答案: 好。因此,基本上,您想在字符串中找到某种模式,如果模式匹配,则采取措施。 这样做幼稚的方式将是乏味的。幼稚的解决方案可能涉及类似 如果您想做一些
问题内容: 我试图使用Java中用户的输入来获取一个句子,并且我需要使其小写并删除所有标点符号。这是我的代码: 我似乎找不到任何方法来删除所有非字母字符。我尝试过使用regexes和迭代器没有任何运气。谢谢你的帮助。 问题答案: 首先删除所有非字母字符,将其折叠为小写字母,然后分割输入,在一行中完成所有工作: 最初在输入中留有空格,因此拆分仍将起作用。 通过 在 拆分 之前 删除垃圾字符,可以避免
本文向大家介绍使用JavaScript从字符串中删除标点符号,包括了使用JavaScript从字符串中删除标点符号的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个JavaScript函数,该函数接受一个字符串,并从字符串中删除所有特殊字符,而在结果字符串中仅保留字母和数字。 输入 输出 因为我们删除了所有标点符号和空格 示例 以下是代码- 输出结果
问题内容: 我有一个类似的清单 这应该变成 我只想删除标点符号,使字母和数字保持原样。标点是常数。我知道这很简单,但是我有点喜欢python所以… 谢谢,giodamelio 问题答案: 假设您的初始列表存储在变量x中,则可以使用以下命令: 删除空字符串:
问题内容: 我有一个像下面这样的json: 我只想将此JSON转换为其他JSON。我想从JSON中删除“ _ 元数据”和“ _some”节点。我正在使用JSON.NET。 问题答案: 我刚结束反序列化到JObject并递归地循环遍历以删除不需要的字段。这是那些有兴趣的人的功能。