将字符串分割成句子

2023-11-27

我编写了这段代码,用于分割字符串并将其存储在字符串数组中:-

String[] sSentence = sResult.split("[a-z]\\.\\s+");

但是,我添加了 [a-z],因为我想处理一些缩写问题。但后来我的结果显示如下:-

此外,当埃弗里特试图指导他们基础数学时,他们没有反应

我发现我丢失了 split 函数中指定的模式。丢失句号对我来说没关系,但是丢失单词的最后一个字母会扰乱其含义。

有人可以帮助我解决这个问题吗?此外,有人可以帮助我处理缩写吗?例如,因为我根据句点分割字符串,所以我不想丢失缩写。


解析句子绝非易事,即使对于英语等拉丁语言也是如此。像您在问题中概述的那种幼稚的方法经常会失败,以至于在实践中证明它毫无用处。

更好的方法是使用中断迭代器配置了正确的区域设置。

BreakIterator iterator = BreakIterator.getSentenceInstance(Locale.US);
String source = "This is a test. This is a T.L.A. test. Now with a Dr. in it.";
iterator.setText(source);
int start = iterator.first();
for (int end = iterator.next();
    end != BreakIterator.DONE;
    start = end, end = iterator.next()) {
  System.out.println(source.substring(start,end));
}

产生以下结果:

  1. 这是一个测试。
  2. 这是一家 T.L.A.测试。
  3. 现在里面有一个博士。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串分割成句子 的相关文章

  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • 与有效正则表达式匹配的正则表达式

    是否存在与有效正则表达式匹配的正则表达式 我知道正则表达式有多种风格 其中一种就可以了 是否存在与有效正则表达式匹配的正则表达式 根据定义 它非常简单 No 所有正则表达式的语言是no regular语言 只需查看嵌套括号 因此不可能有re
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后

随机推荐

  • 如何在 Woocommerce 中检查产品是否具有特定产品属性

    我想确定产品是否具有属性 例如 if product has attribute pa color do something 我怎样才能做到这一点 您只需使用WC Product method get attribute 这边走 If ne
  • 在 keras 中加载模型后的不同预测

    我在 Keras 中构建了一个序列模型 经过训练后它给了我很好的预测 但是当我保存然后加载模型时 我没有在同一数据集上获得相同的预测 为什么 请注意 我检查了模型的权重 它们以及模型的架构都是相同的 并使用 model summary 和
  • 使用 Java 邮件服务器进行测试

    我正在测试一个应用程序 该应用程序从邮箱中取出邮件 根据该邮件的内容执行某些操作 然后根据操作的结果发送响应邮件 我正在寻找一种为此应用程序编写测试的方法 理想情况下 我希望这些测试能够启动自己的邮件服务器 将我的测试电子邮件推送到该邮件服
  • 如何等待 Angular Google 地图将 getGMap 附加到控制对象

    我一直在尝试在google maps Map由创建的对象ui gmap google map指令来自Angular 谷歌地图库 我需要动态地执行此操作 因此 至少通过我的简短测试 似乎使用events上的参数ui gmap google m
  • ccAvenue 支付网关中 ios 9 中的安全错误

    在发布 iOS 9 之前 我将 ccAvenue paymeny 网关集成到我的 iOS 应用程序中 付款已成功转移到 iOS 8 中的商家帐户 当我在 iOS 9 中测试我的应用程序时 付款已转移到商家帐户 但显示安全错误 我也改变lib
  • 函数的返回类型是重整名称的一部分吗?

    假设我有两个具有相同参数类型和名称的函数 不在同一个程序中 std string foo int x return hello int foo int x return x 编译后它们会具有相同的损坏名称吗 返回类型是 C 中重整名称的一部
  • 如何从OpenStreetMap中找到路口?

    如何在OpenStreetMap中提取路口 我需要路口的经度和纬度 谢谢 曾经有过类似的问题here 没有直接的 API 调用来检索交集 但是您可以查询给定边界框中的所有方式 例如直接通过API或通过立交桥API 并查找由两种或多种方式共享
  • 仅从 ELF 二进制文件中提取我的函数名称

    我正在编写一个脚本 用于提取二进制文件中的所有函数 由用户编写 以下 shell 脚本提取我的函数名称以及一些以以下开头的库函数 readelf s a out gawk if 4 FUNC 3 0 7 13 8 main print b
  • php + gd 的图像比较

    使用 php 比较两个图像的最佳方法是什么图形绘制 GD 库 这是场景 我有一张图像 我想找到给定集合中哪张图像与其最相似 最相似的图像实际上是同一张图像 不是像素完美匹配 而是同一张图像 我在示例中戏剧化了两个图像与第一张图像之间的差异
  • 代理后面的Java应用程序在linux中使用http_proxy变量

    我正在考虑一个简单的Java应用程序 命令行 它连接到互联网来下载XML文件 问题是我的Ubuntu正在使用代理通过用户名和密码连接到互联网 通过http proxy http
  • Rabbit 消息侦听器执行失败,并且未设置 ErrorHandler。无法调用参数类型 = [class [B] 的目标方法,

    我正在使用 spring amqprabbitmq 并使用发送消息 Message message MessageBuilder withBody item toString getBytes setReplyTo importReply
  • 当 shell=True 时如何确定 subprocess.Popen() 失败

    Windows 版本的 Python 2 6 4 有什么方法可以确定使用 shell True 时 subprocess Popen 是否失败 shell False 时 Popen 成功失败 gt gt gt import subproc
  • 为什么 bad_alloc(const char*) 在 Visual C++ 2012 中被设为私有?

    我只是想使用 Visual Studio 2012 候选版本 C 编译一个更大的项目 该项目现在使用VS2010编译 我只是贪图 C 11 的东西 所以我尝试了 除了我自己可以解释的事情之外 该项目使用如下代码 ostringstream
  • Mac OS X 上的黑莓开发

    我最近开始为移动设备创建应用程序 并成功完成了 iPhone 的应用程序 我现在将注意力转向黑莓 但尚未找到令人信服的文章或网站来说明可以做到这一点 也找不到有关如何做到这一点的教程 可以在 Mac OS X 上开发 Blackberry
  • 告诉 GCC *不*链接 libgomp,以便它链接 libiomp5

    我需要找出一个可以输入 gcc 的编译器 链接器指令 以便在指定 fopenmp 时它不会自动链接 libgomp 原因是我正在尝试针对英特尔的 MKL BLAS 进行构建 MKL 需要添加单独的 Intel 库来处理多线程 例如 libm
  • 使用 pkg-config 宏 PKG_CHECK_MODULES 失败

    我确信这是一个相当简单的问题 我有一个非常简单的configure ac 文件 我用它来学习autoconf 和pkg config 如何协同工作 这confgure ac文件看起来像 AC PREREQ 2 61 AC INIT auto
  • 如何判断html页面的哪个元素获得焦点? [复制]

    这个问题在这里已经有答案了 可能的重复 如何找出哪个 DOM 元素具有焦点 javascript 有没有办法确定哪个 html 页面元素具有焦点 Use the document activeElement财产 The document a
  • 在 Bloomberg API 中,如何指定以点差而不是绝对值的形式获取外汇远期?

    如何使用 Bloomberg API 明确请求直接外汇远期 在彭博终端中 您可以通过执行 XDF 选择是否以绝对汇率 直接 或即期 点 的形式获得外汇远期 达到 7 则该选项大约下降了一半 0 表示直接 1 表示偏移 对于大多数默认值 您可
  • 如何在 Web API 中使用“User.Identity.IsAuthenticated”

    User Identity IsAuthenticated总是返回false在我的 ASP NET Web API 项目中 账户内ApiController我有以下内容 ClaimsIdentity identity new ClaimsI
  • 将字符串分割成句子

    我编写了这段代码 用于分割字符串并将其存储在字符串数组中 String sSentence sResult split a z s 但是 我添加了 a z 因为我想处理一些缩写问题 但后来我的结果显示如下 此外 当埃弗里特试图指导他们基础数