当前位置: 首页 > 知识库问答 >
问题:

正则表达式替换引号之间的回车

濮俊美
2023-03-14

如何替换文本文件中两个引号之间的所有输入。第一个引号总是前面有一个选项卡,或者它是行中的第一个字符(csv文件)。我尝试了以下正则表达式

/(\t"|^")([^"]*)(\n)([^"]*")/gm

但是这个正则表达式只匹配两个引号之间的第一个输入,而不是全部。

例如,以下文本:

xx "xx 
xx 
xx" 
xx 
"xx"
xx 
xx
"xxx xxx 
xx"

应成为

xx "xx xx xx" 
xx 
"xx"
xx 
xx
"xxx xxx xx"

我读了下面的文章(javascript正则表达式替换括号之间的空格),非常相似,但正则表达式建议在我的情况下不可用。

共有2个答案

景俊拔
2023-03-14
\n(?=[^"]*"(?:[^"]*"[^"]*")*[^"]*$)

您可以使用它并替换为空字符串

参见演示

var re = /\n(?=[^"]*"(?:[^"]*"[^"]*")*[^"]*$)/g; 
var str = 'xx "xx \nxx \nxx" \nxx \n"xx"\nxx \nxx\n"xxx xxx \nxx"';
var subst = ''; 

var result = str.replace(re, subst);
帅令雪
2023-03-14

使用Javascript替换,您可以使用函数作为替换。

var str = 'foo \n"a\n" bar\n';

str = str.replace(/"[^"]+"/g, function(m) {
 return m.replace(/\n/g, ' ');
});

console.log(str);
 类似资料:
  • 我有一个应用程序收到一个格式错误的JSON字符串,如下所示: null 也可能是格式错误的JSON字符串: 在本例中,不应替换消息值中的单引号。

  • 我需要替换以下字符串中的引号。 最终输出应该是“这是test()ing和test()ing”; i、 e仅当它以“test()开头,以”结尾时才替换。中间的文本保持不变。 这个坏了。 请为同样的问题推荐合适的正则表达式。

  • 我正在处理一个大的csv文件,其中的字段用双引号括起来,其中的文本描述包含未替换的双引号,我需要用转义的双引号替换。我尝试过使用以下正则表达式:

  • 问题内容: 我有以下几种可能的形式的字符串: 我希望能够将它正则化为,基本上替换和之间的所有内容。我试过了: 但这是行不通的。任何帮助表示赞赏。 PS 表示有一个换行符用于此目的。实际上不在那里。 问题答案: 您可以使用 并替换为。请参阅在线Go regex演示。 在这里,匹配并捕获子字符串(它将从替换模式中引用此值),并将匹配并消耗除换行符以外的任何0+字符,直至行尾。 参见Go演示: 输出:

  • 我有一份从MS Word复制/粘贴的文件。所有的引文都被复制为,这基本上在我的LaTeX文档中造成了混乱,因此它们必须是。 有没有可能创建一个正则表达式来查找所有这些,其中可以是任何东西(包括符号、数字等)。),并用正确的引号替换它的正则表达式?我使用Sublime文本,它能够直接在编辑器中使用RegEX。

  • 问题内容: 我试图用Java写一个正则表达式来查找单引号之间的内容。可以帮我吗?我尝试了以下操作,但在某些情况下不起作用: 测试案例: “ Tumblr”是一个了不起的应用程序 预期输出: Tumblr 测试用例: Tumblr是一个了不起的“应用程序” 预期输出: 应用程序 测试用例: Tumblr是一个“惊人的”应用程序 预期输出: 惊人的 测试用例: Tumblr很棒而且令人惊讶 预期输出: