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:将文本拆分为单词、数字、标点符号和空格(不要删除任何内容) 的相关文章

  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 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