java的split string方法也可以返回带分隔符的数组

2024-06-01

当我们使用String.Split()java中对字符串进行分割的方法,其工作原理如下:

String s = "hello my dear";
String[] ss = s.split("[ ]");

数组ss包含[Hello, my, dear]但在这种情况下,空格(即分隔符)不是数组的一部分。

有没有什么方法可以使分隔符成为使用Java中字符串类的split方法生成的数组的一部分。


你可以这样做:-

"hello my dear".split("(?<=[ ])");

它在空格后面的空字符串上分割。这将为您提供包含如下元素的数组:-

hello_
my_
dear

_意味着空间。


如果您希望分隔符是单独的数组元素,您可以这样做:-

System.out.println(Arrays.toString("a+b=c".split("(?<=[+=])|(?=[+=])")));

现在,它会在空字符串上拆分,该字符串后跟任一+ or =,或之前有+ or =。因此,上述情况下执行分割的所有位置如下: -

a + b = c
 ^ ^ ^ ^    <-- Empty strings before and after your pattern - `[+=]`

因此,数组中有 5 个元素。

输出: -

[a, +, b, =, c]

但是您使用了错误的工具来解析数学表达式。您不应该为此使用正则表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java的split string方法也可以返回带分隔符的数组 的相关文章

  • spring依赖注入会创建单例对象吗?

    spring内部是如何管理这些对象的呢 单例对象什么时候创建和销毁 默认情况下 Spring bean 基本上是单例的 Spring 将为每个类创建一个实例 并且通常会在 Spring 初始化时执行此操作 然而 这几乎是无限可定制的 Spr
  • 从java管理unix进程的最佳方法是什么?

    我正在寻找一些简单的任务 例如列出用户的所有正在运行的进程 或者通过pid等杀死特定进程 来自Java的基本unix进程管理 有没有相对成熟且有文档的库 我可以从 JVM 运行外部命令 然后解析标准输出 错误 但这似乎需要大量工作 而且一点
  • 在jodatime中计算一个月的周数

    jodatime 可以计算一个月的周数吗 我需要这样的东西 月份 七月 第 27 年的一周 1 7 七月 第 28 年的一周 9 14 七月 第 29 年的一周 16 21 七月 第 30 年的一周 23 31 七月 月份 八月 第 31
  • jSoup 检查跨度类是否存在

    我有一个具有以下格式的 HTML
  • JTable 使用行号?

    我正在创建一个程序 其工作原理如下Microsoft Excel 在JAVA中 我的问题是如何将行号放在每行旁边JTable 我已经看到它在其他 Java 程序中工作 我只是不知道如何将它包含在我的程序中 谷歌给了我这个网站 http ti
  • Java 1.7.51 小程序的互联网限制

    在之前的几个月里 我为一个学术项目开发了一个沙箱 Java 小程序 由于预算有限 我无法与值得信赖的证书颁发机构签署它 随着 Java 1 7 51 的发布 我发现新的安全限制禁止执行小程序 因为缺少签名 到目前为止 我已经找到了解决这个问
  • 当我收到 java.lang.NoClassDefFoundError: javax/ws/rs/client/RxInvokerProvider 错误时缺少什么依赖项?

    我有一个小项目 出于测试目的 我通过单元测试执行我的 jersey 2 客户端 但是 不幸的是 我收到了错误 我不知道还缺少什么依赖项 目前泽西岛的网页因维护而关闭 我把pom xml的相同相关部分 测试代码和测试代码也附上了 public
  • Java 将字符串拆分为单词逗号和句号

    我一直在使用myString split s 得到每个单词 但现在我想把逗号和句号也分开 例如 妈妈总是说生活就像一盒巧克力 你永远不知道会得到什么 to Mama always said life was like a box of ch
  • 将变量从一个 jsp 发送到另一个 jsp

    我有一个 JSP 文件jsp 1 jsp和另一个 JSP 文件jsp 2 jsp 我已经包括了jsp 2 jsp in jsp 1 jsp using 现在我需要某个元素上的单击事件 在该事件中 我想将字符串变量传输到包含的 jsp 中 假
  • java中接口上的抽象方法是什么[重复]

    这个问题在这里已经有答案了 可能的重复 为什么要将 Java 接口方法声明为抽象方法 https stackoverflow com questions 641536 why would one declare a java interfa
  • 带 null 检查的 Groovy 字符串连接

    有一个更好的方法吗 笔记 part1 part2 and part3是在其他地方定义的字符串变量 它们可以为空 def list part1 part2 part3 list removeAll null def ans list join
  • 在 DAO 中反映继承关系最有效的方法是什么?

    使用 MVC 结构和业务对象 http en wikipedia org wiki Business object DAO http en wikipedia org wiki Data access object建筑学 对于任何正常的业务
  • SLF4J 日志级别作为参数[重复]

    这个问题在这里已经有答案了 我们希望使用 SLF4J 但我们发现的一件事是您无法将级别指定为参数 即 Logger log Level INFO messsage 你必须这样做 logger info message 这使得无法通过方法传递
  • PySpark:根据与另一列中的字符串匹配的字典值创建新列

    我有一个数据框 A 如下所示 ID SOME CODE TITLE 1 024df3 Large garden in New York New York 2 0ffw34 Small house in dark Detroit Michig
  • ViewCompat.setOnApplyWindowInsetsListener使状态栏颜色消失

    这是我用来检测何时的代码Keyboard Height变化 唯一的问题是Statur Bar当此代码运行时 颜色消失并变为白色 ViewCompat setOnApplyWindowInsetsListener this getWindow
  • 使用Java 8开发的程序可以在Java 7上运行吗?

    我有点困惑 Oracle 表示 Java 8 与 Java 7 向后 高度兼容 但是 Java 8 程序有什么可能性可以在 Java 7 上成功运行 SE EE 呢 如果第一点为真 Java 8 应用程序将在 Java 7 服务器支持上部署
  • Gradle 将多个依赖项提取到不同的目录

    我正在尝试将多个依赖项提取到不同的目录中 我尝试了以下方法 configurations cppDependencies dependencies cppDependencies com group artifact1 1 0 cppDep
  • .NET 中的字符串格式:将整数转换为固定宽度字符串?

    我在 NET C 中有一个 int 我想将其转换为特定格式的字符串 如果值为 1 我希望字符串为 001 10 010 116 116 etc 我正在寻找字符串格式 但到目前为止没有成功 我的值也不会超过 999 最简单的方法是使用 NET
  • 如何在JavaFX中获得狭窄的进度条?

    正如标题所说 我需要制作一个细进度条 我用过这个 progressBar setMaxHeight 0 1 progressBar setPrefHeight 0 1 但这行不通 有人有想法吗 你必须搞乱样式才能让它变小 我真的建议看看ca
  • 如何在同一规则中混合字符串解析和块解析?

    很酷的是 Rebol 的 PARSE 方言足够通用 它可以对符号结构以及字符串进行模式匹配和提取 像这样 match a single a character followed by any number of b chars gt gt

随机推荐