如何将句子分成单词和标点符号?

2023-12-22

例如,我想拆分这句话:

I am a sentence.

变成一个由 5 部分组成的数组;I, am, a, sentence, and ..

我目前正在使用preg_split尝试后explode,但我似乎找不到合适的东西。

这是我尝试过的:

$sentence = explode(" ", $sentence);
/*
returns array(4) {
  [0]=>
  string(1) "I"
  [1]=>
  string(2) "am"
  [2]=>
  string(1) "a"
  [3]=>
  string(8) "sentence."
}
*/

还有这个:

$sentence = preg_split("/[.?!\s]/", $sentence);
/*
returns array(5) {
  [0]=>
  string(1) "I"
  [1]=>
  string(2) "am"
  [2]=>
  string(1) "a"
  [3]=>
  string(8) "sentence"
  [4]=>
  string(0) ""
}
*/

如何才能做到这一点?


您可以按单词边界进行拆分:

$sentence = preg_split("/(?<=\w)\b\s*/", 'I am a sentence.');

正则表达式几乎会扫描直到找到单词字符,然后在找到单词字符之后,正则表达式必须捕获单词边界和一些可选空格。

Output http://viper-7.com/kWRwQ4:

array(5) {
  [0]=>
  string(1) "I"
  [1]=>
  string(2) "am"
  [2]=>
  string(1) "a"
  [3]=>
  string(8) "sentence"
  [4]=>
  string(1) "."
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将句子分成单词和标点符号? 的相关文章

  • dayname(curdate()) 不适用于 codeigniter php

    此 sql 在 phpmyadmin 中有效 但在 codeigniter php 中无效 function getProgramsHomepage data array this gt db gt select p name p star
  • Jquery 表单验证 - 电话号码

    我已经在表单上设置了 jQuery 验证 该验证当前测试电话号码字段不为空并且是一个数字 但我希望它能够处理用户在手机 区号后放置空格的情况 谁能建议我需要做什么才能允许这样做 这是我当前的代码 if phone length 0 name
  • Laravel 异常队列最大尝试次数超出

    我创建了一个应用程序来向多个用户发送电子邮件 但在处理大量收件人时遇到问题 该错误出现在failed jobs table Illuminate Queue MaxAttemptsExceededException App Jobs ESe
  • 在 PHP 中使用“func_get_arg”的好例子是什么?

    我刚刚发现有一个函数叫做func get arg在 PHP 中 开发人员可以使用不同的方式获取参数 它似乎非常有用 因为参数的数量现在可以是任意的 但我想不出任何使用它的好例子 有哪些使用该函数来充分利用其多态特性的例子 我通常使用func
  • PHP 中的数组按值排序并维护索引关联

    我有一个数组 array array john gt 2 adam gt 3 ben gt 10 tim gt 1 我已经尝试了 PHP 的各种函数来实现这个数组结构 array array tim gt 1 john gt 2 adam
  • 在 Woocommerce 存档页面中显示产品星级评定和价格下方的计数 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 woocommerce 存档页面中 我想将评级移至价格下方 那可能吗 我怎样才能做到呢 这是我想要的 任何帮助表示赞赏 My 网站
  • OpenSSL 真的需要 openssl.conf 的路径吗?

    我想在 PHP 5 x 中创建自签名证书 使用我自己的 替代 openssl 配置 该配置应该由我的 PHP 代码定义 PHP 脚本将在不同的环境 共享托管网络服务器 上运行 官方PHP手册 http php net manual en f
  • 如何在Python中按字母顺序对字符串中的字母进行排序

    有没有一种简单的方法可以在Python中按字母顺序对字符串中的字母进行排序 So for a ZENOVW 我想返回 ENOVWZ 你可以做 gt gt gt a ZENOVW gt gt gt join sorted a ENOVWZ
  • 验证 Salesforce ID

    有没有办法验证 Salesforce ID 也许使用 RegEx 它们通常是 15 个字符或 18 个字符 但它们是否遵循我们可以用来检查它是否是有效 ID 的模式 验证 salesforce ID 有两个级别 使用正则表达式检查格式 a
  • String.GetHashCode() 返回不同的值

    为什么 GetHashCode 对同一字符串返回不同的值 我无法描述如何复制它 但相信这不是一个恶作剧 并且以下两行来自我的监视窗口在两个不同的时间 DDD Events Application ApplicationReferenceCr
  • 如何使用 Codeigniter 从另一个视图中加载视图文件,而无需通过控制器?

    我正在努力寻找此问题的解决方案 我需要从另一个视图中加载视图 我知道 通常我只需要这样做 但这一次 文件路径被传递到数据文件标记的属性 我有 a href 实际上 这是由 JavaScript 函数用来自行加载视图的 因此 当这样做时 它会
  • WooCommerce:返回特定类别中所有产品 ID 的函数

    我认为问题的标题是相当不言自明的 但要详细说明 我正在尝试在 Woocommerce 中制作自定义类别页面 我需要的是返回特定类别中的所有产品 ID 我见过这个帖子 https stackoverflow com questions 210
  • 如何获取laravel 5.4中的所有头信息

    当我打印时 echo pre print r getallheaders 它给出输出 Host gt abc com User Agent gt Mozilla 5 0 Macintosh Intel Mac OS X 10 12 rv 5
  • 在javascript中通过window.location传递数据

    我试图通过 window location 传递数据 数据在 del id img album 中可用 我想通过 window location 发送多个值 window location save php type deldownload
  • PHP 是否有可重用的路由器/调度程序?

    我正在使用一个简单的框架 它根据查询参数处理请求 http example com index php event listPage http example com index php event itemView id 1234 我想将
  • Notepad++ 编辑 PHP 的语法突出显示吗?

    我想在 Notepad 中编辑 PHP 的语法突出显示 变量开头为 与仅开头的变量的颜色不同 让运营商像 颜色与操作员不同 是否可以将突出显示更改为如此深入 如何 这个有可能 在 Notepad 中 通过单击定义新语言View gt 用户定
  • 回显并打印声明

    假设有以下代码
  • PHP - 调整 PNG 图像大小时出现内存错误

    我有一个脚本可以根据上传的图像创建缩略图 它对 jpg 工作正常 但给我一个错误 致命错误 允许的内存大小 67108864 字节已耗尽 尝试分配 26250000 字节 当我上传 png 图像时 脚本是 create thumbnail
  • 使用 Laravel 和 Eloquent 从表中选择全部

    我正在使用 Laravel 4 设置我的第一个模型 以从名为的表中提取所有行posts 在标准 MySQL 中我会使用 SELECT FROM posts 如何在 Laravel 4 模型中实现这一目标 我的完整模型源代码如下
  • 将日期时间舍入到最后一小时

    我试图寻找这个 但我找不到我想做的事情的好例子 我在 MySQL 数据库中得到了日期时间值 当使用该值时必须向下舍入 例如 所有这些值 2013 04 20 07 14 422013 04 20 07 19 512013 04 20 07

随机推荐

  • mysql - 在分页中查找结果记录的页面

    想象一下我们使用分页来分割并显示这样的mysql结果 按自动增量 ID 和日期排序 SELECT name FROM members ORDER BY id DESC date DESC LIMIT start len 我们使用 php 显
  • 使用 CGWindowListCopyWindowInfo 最前面的窗口

    在文档中 它说此方法返回的窗口列表 CFArrayRef windowList CGWindowListCopyWindowInfo kCGWindowListOptionOnScreenOnly kCGNullWindowID 将按从前到
  • 有没有办法将 NSManagedObject 标记为脏?

    在我的 NSManagedObject 子类中 我有一个 NSString ivar 它分成一个 NSSet 实体 我希望能够设置字符串 并在调用保存期间进行分割 但是 仅设置字符串不会触发脏标志或需要保存 您可以实施 BOOL conte
  • Ado.net 实体框架 2010 中的 POCO 类是否需要 DataContract 属性

    我在 stackoverflow 本身的某个地方读到 当我们使用 Poco 生成器将 POCO 类用于 WCF 合约时 我们不需要使用 DataContract 和 DataMember 属性 WCF 会自动为您服务吗 我不知道它是如何做到
  • 防止用户角色更改 woocommerce 订单状态

    我们想阻止商店经理更改订单状态 我们在下面的链接中找到了帮助限制用户角色仅更改 Woocommerce 中的某些订单状态 https stackoverflow com questions 54853306 restrict user ro
  • 在运行时向 OWIN 管道注册新的中间件,无需重新启动应用程序

    我已使用 Startup 类在 OWIN Pipeline 中添加了所有可用的中间件 以对项目中的用户进行身份验证 它运行良好 但是如何在运行时启动后将中间件添加到 OWIN Pipeline 中 这样管理员就可以使用 UI 输入新身份验证
  • 在Python中以给定的速率执行特定的语句

    我想编写一段代码 每秒执行指定次数的语句 你们中的许多人可能更熟悉术语利率 这里我希望速率为每秒 30 假设我想每秒执行一个函数 30 次 持续 60 秒 表示速率 30 秒持续时间 60秒 任何人都可以告诉我他们的任何 api 都可以在
  • Ruby 1.8.7 的分段错误

    我正在尝试使用 Rails 3 2 0 rc2 但遇到了一些问题 当我尝试做一个rails s我现在得到 Users Kyle rvm gems ruby 1 9 2 p290 skateparks gems json 1 6 5 ext
  • SQL Server 2000 相当于 GROUP_CONCAT 函数

    我尝试使用GROUP CONCATSQL Server 2000 中的函数但返回错误 group concat 不是可识别的函数名称 所以我想还有一个其他功能group concat在 SQL Server 2000 中 你能告诉我那是什么
  • .NET 4.0 内存映射文件性能

    我想知道是否有人尝试过新的 NET 4 0 内存映射文件功能 我知道它们和操作系统一样古老 但 NET 中的本机处理是新的 有没有人能够对此进行测试并谈论性能 我对二进制文件随机部分的访问时间 写入速度等非常感兴趣 与本机 WinAPI M
  • redux/react 应用程序中的状态有一个带有减速器名称的属性

    我正在使用 Redux 和 React 创建一个应用程序 我遇到了一个问题 我无法将状态映射到组件属性 因为状态有一个与我使用的减速器名称匹配的属性 根减速器是用以下命令创建的combineReducers method const roo
  • 以下代码中的运行时错误

    根据我的说法 以下代码应该成功运行 但在运行时失败 我不明白原因 void main int arr 5 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int m arr 0 int p m p p 1 pri
  • mochijson2 或 mochijson

    我正在使用 mochijson2 编码一些数据 但我发现它在字符串作为列表时表现得很奇怪 例子 mochijson2 编码 foo 91 102 44 111 44 111 93 其中 102 111 111 是编码为字符串的 f o o
  • 如何在 if 语句中检查 UILabel 的值是否大于 0? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在 if 语句中检查 UILab
  • 将优惠券字段移至购物车总计

    我需要将优惠券字段和按钮移至购物车总计表 位于 继续结账 按钮上方 到目前为止 我移动了 php 文件中的部分代码 但 ajax 不起作用 因此没有应用折扣 Thanks 编辑 cart php 文件以删除输出优惠券代码的代码 然后编辑 c
  • 使用 oci_parse 和 oci_execute

    我确信这是非常基本的事情 但我似乎找不到我的错误 我正在尝试执行以下操作 c db connect email addslashes email sql SELECT FROM RUSER WHERE email LIKE email qu
  • 从应用程序中安装 .zip?

    因此 在我的应用程序中 我尝试使用此命令使其在发条恢复中闪烁 zip Runtime run Runtime getRuntime Process p null DataOutputStream out null try p run exe
  • 未处理异常时的 TPL 中断

    我在用async await也Task Factory StartNew在我的应用程序中 但我注意到发生变化的一件事是 当发生未处理的异常时 Visual Studio 不再中断 Here is what i mean by before
  • 在从 ReactiveMongoRepository 对象返回的 Mono 对象上执行 block() 时出现异常

    我有一个服务将数据流式传输到第二个服务 该服务接收对象流并将它们保存到我的 MongoDB 中 在从流服务获取的 Flux 对象的订阅函数中 我使用 ReactiveMongoRepository 接口中的 save 方法 当我尝试使用块函
  • 如何将句子分成单词和标点符号?

    例如 我想拆分这句话 I am a sentence 变成一个由 5 部分组成的数组 I am a sentence and 我目前正在使用preg split尝试后explode 但我似乎找不到合适的东西 这是我尝试过的 sentence