在JavaScript中去掉与模式匹配的值前后的文本

Strip off text before and after a value that matches a pattern in JavaScript

本文关键字:文本 模式匹配 JavaScript      更新时间:2023-09-26

下面这段JavaScript jQuery代码为数组中的每个值显示了如下内容:

<span class="label">oranges</span>  

其中橙子是每项中不同的值。

我需要把所有的东西都去掉,这样我在一个变量中只有oranges部分?

http://jsfiddle.net/jasondavis/kw7uwu2y/

var taskAssignedUserDataArray = [
    '<span class="label">oranges 1</span>',
    '<span class="label">oranges 2</span>',
    '<span class="label">oranges 3</span>',
    '<span class="label">oranges 4</span>'];

var value = taskAssignedUserDataArray;
$.each(value,function(i){
    alert(value[i]);
    value[i] = $('<p>' + value[i] + '</p>').text()
});

这里,见下文

var taskAssignedUserDataArray = [
    '<span class="label">oranges 1</span>',
    '<span class="label">oranges 2</span>',
    '<span class="label">oranges 3</span>',
    '<span class="label">oranges 4</span>'];
var value = taskAssignedUserDataArray;
$.each(value,function(i){
    alert(value[i].replace(/(<.*>)(.*)(<.*>)/i, '$2'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

结果为
橙子1
橙子2
橘子3
橙子4

您应该使用正则表达式和replace方法从变量中删除HTML标签。

var newval = value[i].replace(/(<([^>]+)>)/ig,"");

所以…我想找个有趣的答案。验尸官的答案可能是最好、最正确的答案……

但! !因为我很好奇我是否可以这样做。

http://jsfiddle.net/kw7uwu2y/4/

基本上

:

var taskAssignedUserDataArray = $('span.label');

var value = taskAssignedUserDataArray;
$.each(value,function(){
    $(this).html('<p>'+$(this).text()+"</p>");
    var children = $(this).children('p');
    $(this).after(children)
    $(this).remove();
});