Java正则表达式 - 在空格上分割字符串 - 忽略引号中的空格和转义引号[重复]

2024-04-09

我正在寻找正则表达式来在Java中执行以下操作:

String originalString = "";
String splitString[] = originalString.spilt(regex);

一些测试用例:

Original1: foo bar "simple"
Spilt1: { "foo", "bar", "\"simple\"" }

Original2: foo bar "harder \"case"
Spilt2: { "foo", "bar", "\"harder \"case\"" }

Original3: foo bar "harder case\\"
Spilt3: { "foo", "bar", "\"harder case\\"" }

我遇到过的一些片段:

# Does not react to escaped quotes
 (?=([^\"]*\"[^\"]*\")*[^\"]*$)
# Finds relevant quotes that surround args
(?<!\\)(?:\\{2})*\"

Thanks!


像这样的正则表达式适用于简单的情况:

("(.+?)(?<![^\\]\\)")|\S+

但我不建议使用 RegEx 来完成此任务,而是看一下 CSV 解析器。

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

Java正则表达式 - 在空格上分割字符串 - 忽略引号中的空格和转义引号[重复] 的相关文章

  • 使用 Python 从网站下载所有 pdf 文件

    我遵循了几个在线指南 试图构建一个可以识别并从网站下载所有 pdf 的脚本 从而避免我手动执行此操作 到目前为止 这是我的代码 from urllib import request from bs4 import BeautifulSoup
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • 如何检查某个元素是否存在于一组项目中?

    In an ifJava中的语句如何检查一个对象是否存在于一组项目中 例如 在这种情况下 我需要验证水果是苹果 橙子还是香蕉 if fruitname in APPLE ORANGES GRAPES Do something 这是一件非常微
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • 如何删除从 javascript var 转义的反斜杠?

    我有这个变量 var x div class Which is div class 但是我需要 div class abcdef 我怎样才能 unes cape 这个变量来删除所有转义字符 您可以通过正则表达式将反斜杠后跟引号替换为仅引号
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • partitioningBy 必须生成一个包含 true 和 false 条目的映射吗?

    The 分区依据 https docs oracle com javase 8 docs api java util stream Collectors html partitioningBy java util function Pred
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho

随机推荐

  • 为什么标准C++库全部使用小写?

    只是好奇为什么 C 标准库使用全部小写和下划线而不是camelCase or PascalCase命名约定 就我个人而言 我发现在输入代码时后者更容易处理 但是是否有某种合法的理由使用前者 主要原因 为了保持与现有代码的兼容性 因为他们也用
  • 如何在Windows窗体中渲染化学反应? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何以窗口形式表示化学反应 我使用的是c 语言 可以使用以下方式表示数学公式mimetxt dll 但是化学反应呢 In short
  • 带有可点击和可编辑链接的编辑文本

    我正在使用 EditText 它在输入中采用 WebUrl 为此 我正在使用LinkMovementMethod使 EditText 中的链接可点击 问题是 如果文本的最后部分是链接 则单击任意位置都会导致 要打开的链接 我想要当我点击点击
  • C# 中的 IIF 是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 c 中的 iif 等效项 https stackoverflow com questions 822810 iif equivalent in c 我有几行代码使用IIf在 VB 中 我正在尝试将此代
  • 具有 Maven 依赖的 Java ClassNotFoundException

    我正进入 状态ClassNotFoundException and NoClassDefFoundError当我尝试使用 Maven 定义的依赖项运行我的应用程序时出现异常 我将相关 jar 的 Maven 依赖项添加到了我的pom xml
  • 如何向 NextRequest 类型添加新属性?

    我正在创建一个向 NextRequest 添加 name 属性的中间件 该属性将在 API 的其他部分中使用 import NextRequest NextResponse from next server export function
  • Spring 3.1.1和Cache配置问题

    我正在测试 Spring 缓存 这是我的上下文文件
  • Laravel 属于关系

    好吧 我对模型的 belongsTo 关系有点困惑 我有一个扩展 Elogent 的 Feeds 模型 我创建了一个名为 User 的关系函数 public function user return this gt belongsTo Us
  • 如何使用Matplotlib在图形中间绘制轴

    我想画一条平行于 y 轴且位于 x 轴中间的静态垂直线 当图中平移时 这条线不应移动 我的目标是让图形中间的这条垂直线作为参考线 我将有一些其他数字 它们表示取决于 x 轴中间的 x 值的数据 该线的端点坐标在轴坐标中为 0 5 0 和 0
  • Python API从密钥服务器获取PGP公钥?

    有没有可以从公钥服务器获取 PGP 公钥的 Python API 如果您正在查询 MIT PGP 密钥服务器 您可以使用 HTTP 我选择 urllib2 和 beautiful soup http pgp mit edu extracth
  • 即使应用程序在线,也要先查询Firestore离线数据[重复]

    这个问题在这里已经有答案了 即使应用程序在线 就像我们在 Firebase 实时数据库中所做的那样 如何首先检索 查询 Firestore 离线数据 谁能帮我解决 Android 版的这个问题吗 Thanks Satish 当您连接到服务器
  • Crystal Reports XI 中正确的 ISO 周编号

    如何在 Crystal Reports XI 中获取给定日期的 ISO 8601 周数 水晶报表支持DatePart 可以为您提供给定日期的 ISO 周数的函数 NumberVar week DatePart ww date crMonda
  • 将附加模板添加到右侧边栏 magento

    我只是尝试添加额外的模板文件以在右侧栏中包含内容块 但失败了 下面是我的努力 添加到 local xml 文件中
  • 如何将文本附加到android中的edittext中?

    在我的应用程序中 我想为用户提供从列表中选择文本并附加到编辑文本中的方法 但是我找不到任何有关如何执行此操作的文档 任何帮助都会有很大帮助 谢谢 只需使用 EditText 的append 即可 参数将附加在可编辑内容的末尾
  • 如何在 anaconda python 中导入 OpenGL?

    我在 anaconda python 上使用 ipython 笔记本 但我不知道如何安装或导入 opengl 谁能帮我解决这个问题吗 我在 Linux xubuntu 上使用 anaconda 抱歉英语不好 正如 David 所指出的 Vi
  • 用javascript求解线性方程组[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 使用 JavaScript 求解线性方程组的最佳方法是什么 我想找到向量 r 的解决方案 M r b 其中 M 是矩阵 b 是向量 我知道
  • SMS 的 .NET 代码

    HI all 我正在编写一些代码来通过 Zeep Mobile 发送 接收短信 http zeepmobile com developers http zeepmobile com developers 我查看了他们的谷歌群组 甚至联系了他
  • 如何更改另一个程序窗口的按钮文本

    我的任务是更改窗口中按钮的文本 我没有并且cannot访问源代码 因为它由我们付费订阅的公司拥有 如何在没有源代码的情况下更改按钮文本 我正在尝试使用 pInvoke 但遇到问题 窗口标题会根据您的合作对象而变化 订单输入表 姓氏 名字 因
  • JSON 反序列化抛出异常 - 无法从 START_OBJECT 令牌中反序列化 java.util.ArrayList 的实例

    以下是我的 JSON 响应 导致 com fasterxml jackson databind JsonMappingException 无法从 START OBJECT 令牌反序列化 java util ArrayList 的实例 在 来
  • Java正则表达式 - 在空格上分割字符串 - 忽略引号中的空格和转义引号[重复]

    这个问题在这里已经有答案了 我正在寻找正则表达式来在Java中执行以下操作 String originalString String splitString originalString spilt regex 一些测试用例 Origina