gpt4 book ai didi

javascript - 查找一行的第一个和最后一个引号之间的文本

转载 作者:行者123 更新时间:2023-11-28 15:56:40 25 4
gpt4 key购买 nike

我正在尝试构建一个简单的页面,该页面将删除文本区域内一行中第一个引号之前的文本以及最后一个引号(包括最后一个引号)之后的文本。

This问题非常有帮助,让我得到了以下代码:

    $('#desqlize').on('click', function(){
var lines = $('textarea').val().split('\n');
var total = ""
$.each(lines, function(){
var enteredText = String(this);
var m = enteredText.match(/"(.*?)"/);
total = total + m[1] +'\n'
})
$('textarea').val(total);
});

但是,如果文本区域中的文本在行内包含引号,例如下面列出的文本,它也会删除这些引号内的文本。

cmd2.CommandText = cmd2.CommandText & "AND b.ColumnID IN     ("&"'"&REPLACE(level2Array(1,0), ",", "','" )&"'"&") "

有人会粘贴像上面这样的一行 block ,而我本质上是想删除 cmd2 中直到第一个引号的所有内容,然后删除每行的最后一个引号。我想保留这两个引号内的所有内容。

预先感谢您的帮助。

最佳答案

这应该适用于输入中包含引号的所有情况:

var parsed = $('textarea').val().replace(/^[^"]*"(.*)"[^"]*$/, '$1');

或者不使用正则表达式:

var ta = $('textarea').val();
var parsed = ta.substring(ta.indexOf('"') + 1, ta.lastIndexOf('"'));

将其与上面的代码放在上下文中:

$('#desqlize').on('click', function(){
var lines = $('textarea').val().split('\n');
var total = ""
$.each(lines, function(){
var enteredText = String(this);
total = total + enteredText.replace(/^[^"]*"(.*)"[^"]*$/, '$1') + '\n';
// or, alternatively:
// total = total + enteredText.substring(enteredText.indexOf('"') + 1, enteredText.lastIndexOf('"'));
})
$('textarea').val(total);
});

关于javascript - 查找一行的第一个和最后一个引号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18521214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com