双引号之间的 JavaScript 文本

2023-12-15

我想使用 JavaScript 获取双引号之间的文本。我在网上发现了类似的东西title.match(/".*?"/);但问题是,有时我在双引号之间有文本,但有时没有引号。我的意思是,有时我会收到如下字符串:Neque porro quisquam est qui dolorem ipsum有时字符串如下:Neque "porro quisquam est" qui dolorem ipsum。问题是,当我有包含双引号的文本时,我想检索它们之间的文本,但是当它们不存在时,我想要整个文本。 我还观察到string.indexOf("\"")不起作用,我真的不知道如何解决这个问题。谢谢。


Try:

<script>
let str1 = 'Neque porro quisquam est qui dolorem ipsum';
let str2 = 'Neque "porro quisquam est" qui dolorem ipsum';
let str3 = 'Neque "porro';
let str4 = 'Neque "porro" quisquam "est" qui dolorem ipsum';

function extractFirstText(str){
  const matches = str.match(/"(.*?)"/);
  return console.log(matches
    ? matches[1]
    : str);
}


function extractAllText(str){
  const re = /"(.*?)"/g;
  const result = [];
  let current;
  while (current = re.exec(str)) {
    result.push(current.pop());
  }
  return console.log(result.length > 0
    ? result
    : [str]);
}

// Execution of the functions

extractFirstText(str1);
//Neque porro quisquam est qui dolorem ipsum

extractFirstText(str2);
//porro quisquam est

extractFirstText(str3);
//Neque "porro

extractFirstText(str4);
//porro

extractAllText(str1);
//Array [ "Neque porro quisquam est qui dolorem ipsum" ]

extractAllText(str2);
//Array [ "porro quisquam est" ]

extractAllText(str3);
//Array [ "Neque \"porro" ]

extractAllText(str4);
//Array [ "porro", "est" ]
</script>

EDIT重新设计以考虑到被丢弃的编辑中有关匹配多个子字符串的 @AshishMaity 注释,以及有关原始中断的 @JosephCho 注释,以防存在单引号(在上述情况下为 str3)

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

双引号之间的 JavaScript 文本 的相关文章

随机推荐

  • 在 WCF 中实现 JSON-RPC

    我一直在四处寻找 但没有找到解决方案 我想用 WCF 实现一个 JSON RPC 服务器 我找到了这个http jsonrpc2 codeplex com 但它不使用 WCF 我知道如何集成它 有人可以给我一个关于如何将所有东西组合在一起的
  • 区分不同类型的 MIFARE Ultralight

    如何识别不同类型的MIFARE Ultralight标签 在文档中AN10834Ultralight 和 Ultralight C 的不同之处在于 Auth 的答案 这个 验证 是什么 芯片的datasheet中没有对该功能的描述 我注意到
  • AOSP - 错误:覆盖目标 (...) 的命令,先前在 (...) 定义

    我正在尝试为不支持的设备构建 AOSP surnia Moto E2 2015 LTE 我之前解决了很多问题 但现在我遇到了一个无法避免的问题 我看到很多人都有这个问题 但他们只是警告 我能做些什么 或者你能帮我找到 surnia 设备树
  • “char *var[3]”和“char var[3][15]”有什么区别?

    我对以下两种方式感到困惑 char var 3 15 Hello world good bad as known this is for an 2D array char var 3 Hello world good bad and thi
  • GData 静态库:使用 -fno-objc-arc 从 ARC 中排除文件?

    我在使用 ARC 的应用程序中使用 GData 静态库 谷歌的说明说将头文件从库链接到项目目标 问题是 当我这样做时 我会收到编译器错误 因为 GData 库与 ARC 不兼容 谷歌声明 弧兼容性 当库源文件直接编译到使用 ARC 的项目中
  • 如何使用正则表达式(递归?)匹配嵌套函数调用(括号对)

    我正在寻找一个正则表达式 来匹配未知数量的嵌套函数 所以 expression function expression function function expression function function function expr
  • 如何从 URL 中删除 index.php?

    我的 Magento 安装中的所有 URL 都需要包含 index php 例如 http example com index php admin http example com index php customer account lo
  • 我无法在 iOS 中从 Facebook 获取用户数据

    我是 iPhone 编程新手 使用下面的代码我登录 Facebook 并获取数据 但这里的问题是 如果单击 Loginwithfacebook 按钮 Facebook 对话框打开 之后 如果再次单击相同的内容 我将输入 Facebook 的
  • JPA 2.0:在 JPA 2.0 中使用 javax.validation.* 包的异常

    当我尝试使用 hibernate 使用 JPA 进行 bean 验证时 会发生以下异常 Exception in thread main javax persistence PersistenceException PersistenceU
  • 8086中的堆栈段和堆栈指针

    我对堆栈段 ss 和堆栈指针 sp 寄存器有点困惑 当堆栈为空时 sp值等于ss值吗 我读到 当我们将一个字 2字节 推入堆栈时 sp会减2 如果第一个语句为真 sp ss 那么我可以说 如果堆栈不为空 堆栈指针的值总是较小或等于堆栈段的值
  • Javascript 代码计算按钮的点击次数

    我有一个页面 我想计算按钮的点击次数 数字显示在该按钮的正下方 我尝试搜索并找到了这个 我认为这不会计算点击总数 跟踪按钮点击次数 我熟悉 javascript 代码 因此任何帮助都会很有用 HTML 代码
  • 如何从 Firebase 托管应用程序引用 Firebase Functions 配置变量?

    我正在将 Heroku 托管的 ReactJS NodeJS 应用程序转换为托管在 Firebase 上 由于 Firebase 仅处理静态页面 因此我需要重新配置开发 暂存 生产环境的私有环境特定变量的配置方式 例如 在我定义这些变量之前
  • 如何将 Managed Bean 字段设置为 ui:param 的值?

    我有一个 JSF 页面 它包含在其他 JSF 页面中 基本上是页面标题 包含公共信息 该公共页面有其自己的控制器 并且依赖于包含该公共页面的页面向其传递一些公共数据 具体来说 我目前正在尝试使用以下方法将此公共页面包含在其他页面上
  • Python 中的好或坏实践:在文件中间导入 [重复]

    这个问题在这里已经有答案了 假设我有一个相对较长的模块 但只需要一次外部模块或方法 在模块中间导入该方法或模块是否被认为可以 或者应该import仅位于该模块的第一部分 Example import string pythis pythat
  • Java:在“this”类而不是子类中调用函数(类似于“super”)

    在 Java 中是否可以以始终执行 本地定义 版本而不是子类中的重写版本的方式调用可重写方法 IE 有没有类似的super指的是这个类 而不是超类 让我给出一个代码示例 希望能够清楚地说明我想要做什么 class A void foo Sy
  • 批处理文件:如果注册表项的数据等于

    我正在尝试为某些资源管理器设置制作一个 bat 切换器 为此 我需要批处理文件来查询注册表项的数据 然后相应地设置该项 例如 在 ActionScript 3 或 JavaScript 中 它会是这样的 if HideFileExt 000
  • 在 Android 上使用 OS 2.2 DevicePolicyManager SDK 类,同时支持 OS 2.1 设备

    我想用一些设备策略管理器我的应用程序中的方法 DevicePolicyManager 是在 OS 2 2 中引入的 但我的应用程序必须继续在 OS 2 1 设备上运行 这是我想做的事情的伪代码 if needSecurity if runn
  • 如何使用 SSL 将 Python 连接到 DB2 数据库?

    我有一个正在运行的 DBeaver 连接到 DB2 数据库 现在我想在 Python 中通过 SSL 安全地连接 DB2 数据库 作为身份验证 我想使用我的 Windows 帐户而不是提供 PW 和 UserID 为此我在 DBeaver
  • docker 容器会自动与其主机同步时间吗?

    我是否需要在 Docker 容器内安装 NTP 服务器来定期同步时间 或者容器是否会与其主机重新同步时间 docker容器时区设置正确 如果您在运行 boot2docker 的 OSX 上 请参阅此问题 https github com b
  • 双引号之间的 JavaScript 文本

    我想使用 JavaScript 获取双引号之间的文本 我在网上发现了类似的东西title match 但问题是 有时我在双引号之间有文本 但有时没有引号 我的意思是 有时我会收到如下字符串 Neque porro quisquam est