RegEx Tokenizer:将文本拆分为单词、数字、标点符号和空格(不要删除任何内容)

2024-03-22

I almost找到了这个问题的答案这个线程 https://stackoverflow.com/questions/5214177/regex-tokenizer-to-split-a-text-into-words-digits-and-punctuation-marks(样本偏差的答案);但是我需要将一个短语拆分为单词、数字、标点符号和空格/制表符。我还需要它来保留这些事情发生的顺序(该线程中的代码已经这样做了)。

所以,我发现的是这样的:

    from nltk.tokenize import *
    txt = "Today it's   07.May 2011. Or 2.999."
    regexp_tokenize(txt, pattern=r'\w+([.,]\w+)*|\S+')
    ['Today', 'it', "'s", '07.May', '2011', '.', 'Or', '2.999', '.']

但这是我需要产生的列表:

    ['Today', ' ', 'it', "'s", ' ', '\t', '07.May', ' ', '2011', '.', ' ', 'Or', ' ', '2.999', '.']

正则表达式一直是我的弱点之一,所以经过几个小时的研究,我仍然感到困惑。谢谢你!!


我认为这样的事情应该对你有用。该正则表达式中的内容可能比需要的多,但您的要求有些模糊,并且与您提供的预期输出不完全匹配。

>>> txt = "Today it's \t07.May 2011. Or 2.999."
>>> p = re.compile(r"\d+|[-'a-z]+|[ ]+|\s+|[.,]+|\S+", re.I)
>>> slice_starts = [m.start() for m in p.finditer(txt)] + [None]
>>> [txt[s:e] for s, e in zip(slice_starts, slice_starts[1:])]
['Today', ' ', "it's", ' ', '\t', '07', '.', 'May', ' ', '2011', '.', ' ', 'Or', ' ', '2', '.', '999', '.']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RegEx Tokenizer:将文本拆分为单词、数字、标点符号和空格(不要删除任何内容) 的相关文章

随机推荐

  • xcodebuild安装路径?

    我正在使用 xcode 开发 iPhone 应用程序 我想自动化 构建和运行 过程 因此想知道是否有任何方法可以在模拟器或设备上安装构建的应用程序 有xcodebuild install命令但我不知道如何设置安装目录DSTROOT到模拟器
  • Bootstrap 按钮组预选按钮,仅含 html

    使用 Bootstrap 我想要一个按钮组 但预选了一个按钮 如果我使用下面的 html 那么第一个按钮将被预先选择 但即使我单击其他按钮之一 它仍然保持活动状态 仅使用 html 如何定义选择一个按钮的按钮组 当我单击其他按钮之一时 该按
  • 使用 SwingNode 在 JavaFX 中显示 VlcJ

    FXMLController初始化方法 FXML private VBox vbContainer MediaPlayerVLC m mediaPlayer public void initialize URL url ResourceBu
  • DevExpress 中的 GridControl 和 GridView 有什么区别?

    DevExpress 中的 GridControl 和 GridView 有什么区别 看起来 GridControl 是 WinForm GridView 是 WPF 但是我在 XAML 中使用 gxg GridContol 这之间也有什么
  • 如何将 PowerShell 脚本作为服务运行?

    我创建了下面的脚本来检查应用程序的端口 2025 并记录连接数 我需要这个脚本作为 Windows 上的服务运行 其名称为netstat 2025 有谁知道是否有这种可能性 我不想使用任务计划程序 而是将脚本作为 Windows 上的服务运
  • iPhone 的 smtp 客户端库

    任何人都知道在 iphone 应用程序中使用的 Objective C smtp 库 我使用skpsmtpmessagehttp code google com p skpsmtpmessage http code google com p
  • 如何使用 Dapper ORM 获取子对象的值?

    我正在使用以下内容检索个人资料详细信息 var profiles connection Query
  • GitHub自动合并后出现致命错误

    我在 GitHub 上有一个存储库 位于here https github com dapphp securimage 我为某人创建了一个工作分支 他们分叉了存储库 对工作分支进行了一些更改并提交了拉取请求 我尝试了这些更改 一切都很好 而
  • 在javascript中调用php函数而不等待响应

    我知道如何使用 ajax 我有一个 Codeigniter 项目 所以我只需调用 url 这一切都很好 但 ajax 等待响应 我只想像您在浏览器中输入的那样调用该网址 我不想等待响应 因为控制器会进行重定向 然后加载视图 我还需要能够通过
  • Pandas 将 Series/DataFrame 限制为一列的值范围

    我想要一个函数 df out df in val min val max 它通过选择一列中的值在定义范围内的行来从另一个系列 数据帧中生成排序的系列 数据帧 例如 如果 df in 看起来像这样 Name Age John 13 Jack
  • Laravel 8 迁移“一般错误:1215 无法添加外键约束”

    我正在尝试在 Laravel 8 上创建迁移 这是我的表 class CreateProductVariationOrderTable extends Migration Run the migrations return void pub
  • 动态更改打印数据

    我正在寻找一种方法来操纵发送到打印机 目前是喷墨打印机 可能是 HP 2460 的数据 我想在打印机每次尝试打印时动态更改数据 IE 在点 1 处 打印的页面将正常保留 但纸张可能会改变其位置 因此我正在寻找一种旋转输入图像以抵消纸张旋转的
  • 如何在 Android 中创建带有虚线/点线分隔线的 ListView?

    我设法通过创建一个名为的文件来弄清楚如何创建自定义形状 带有虚线 dash xml里面的 应用程序 res drawable folder
  • Jenkins 工件插件不归档空目录

    我使用 Jenkins 工件插件来向下流使用 我的问题是 尽管我付出了一切努力 但空文件夹并未被存档 显然 svn 文件也没有存档 首先 你是对的 空目录不能被归档 因为目录作为 Jenkins 中的工件并没有真正的意义 如果您要将工件复制
  • OAuth2(授权代码授予类型)的重定向 URI 中是否应该存在动态查询参数

    诸如此类的来源Okta 赞助网站 https www oauth com oauth2 servers redirect uris redirect uri registration 参见 按请求定制 部分 提到授权请求的redirect
  • 将文件添加到文件夹时运行 Google 脚本

    我希望每次将文件添加到特定文件夹时运行谷歌脚本 这可以做到吗 目前 我有一个触发器使脚本每分钟运行一次 但这并不总是足够快 function mainFunction const folderID folderID provide here
  • 使用 pymssql 连接到 SQL Server 实例

    我正在尝试使用 pymssql 版本 2 0 0b1 dev 20111019 使用 Python 2 7 1 从 Windows 机器连接到 SQL Server 实例 我已经从控制台尝试了最基本的方法 import pymssql c
  • 将 GLEW 与 CMake 链接

    如何使用 CMake 将 GLEW 链接到项目 我们已经尝试使用 CMake 将 GLEW 链接到我们的项目至少 3 个小时 但没有成功 因此接受任何帮助 我正在使用 CMake 3 1 0 附带的 FindGLEW cmake CMake
  • WPF 中动画宽度与实际宽度?

    在 WPF 中如何将元素的宽度从 0 动画到其实际宽度 我试过这个
  • RegEx Tokenizer:将文本拆分为单词、数字、标点符号和空格(不要删除任何内容)

    I almost找到了这个问题的答案这个线程 https stackoverflow com questions 5214177 regex tokenizer to split a text into words digits and p