Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 去掉字符串中的某些元素_Javascript_Jquery_String_Parsing - Fatal编程技术网

Javascript 去掉字符串中的某些元素

Javascript 去掉字符串中的某些元素,javascript,jquery,string,parsing,Javascript,Jquery,String,Parsing,我需要去掉字符串中的某些元素 字符串看起来有点像这样: var htmlelement = '<b>Frame</b>: KHAKI TORT / MATTE BLACK<br> <b>Lens</b>: <span class="titlecaps">SMOKE MONO</span><br> <b>Protection</b>: Category 3 lens - Max

我需要去掉字符串中的某些元素

字符串看起来有点像这样:

var htmlelement = '<b>Frame</b>: KHAKI TORT / MATTE BLACK<br>
<b>Lens</b>: <span class="titlecaps">SMOKE MONO</span><br>
<b>Protection</b>:  Category 3 lens - Maximum UV protection
<div><b>Hardware</b>: Initial temple badge<br>
<b>Packaging</b>: Le Specs protective pouch included<br>
<b>Gender</b>: Men

  <div><b>Model</b>: 1202055<br>
<b>Warranty</b>: Le Specs are warranted for one year against manufacturing faults from the date of purchase.<br>
<br>
<hr style="border:dotted #DDD; border-width:1px 0 0 0; height:0;line-height:0px;font-size:0;margin:0;padding:10px;">
<span style="font-family:times new roman;"><span style="font-weight:bold">DESIGNER NOTES</span><br>
<br>
This oversize and tough wayfarer style in khaki tortoiseshell features a contrast black top bar.
</span>
</div>
</div>'

为了解决问题,字符串可能并不总是与显示的完全相同,例如,初始字符串可能如下所示(顺序不同):


我会采取以下步骤:

  • 查找子字符串
    帧的索引:
  • 查找下一个

  • 从第一个索引到第二个索引再加上4(长度为

  • 使用正则表达式剥离html标记
  • 对第二行(镜头)重复此过程

  • 我最终使用了Wes C的建议

    下面是我结束时的样子:

    $.each($(".descholder"), function(){
          var originalVal = $(this).html();
          var firstVal = originalVal.indexOf("Frame");
          var secondVal = originalVal.indexOf("<br>");
          var lensResult = originalVal.substring(firstVal, secondVal);
          var regex = /(<([^>]+)>)/ig;
          var body = lensResult;
          var result = body.replace(regex, "");
          result = result.replace("Frame: ", '');
          $(this).parent('.descresult').html(result);
    });
    
    $.each($(“.descholder”),函数(){
    var originalVal=$(this.html();
    var firstVal=原始索引(“框架”);
    var secondVal=原始指数(“
    ”); 变量lensResult=原始值子字符串(第一个值,第二个值); var regex=/(]+>)/ig; var body=lensResult; var result=body.replace(regex,“”); 结果=结果。替换(“帧:”,“”); $(this.parent('.descresult').html(result); });
    <b>Model</b>: 1202080<br>
    <b>Protection</b>:  Category 3 lens - Maximum UV protection
    <div><b>Hardware</b><span>:</span><b>&nbsp;</b><span>Silver logo temple badge</span><br>
    <b>Packaging</b>: Le Specs protective pouch included<br>
    <b>Gender</b>: Women<br>
    <b>Warranty</b>: Le Specs are warranted for one year against manufacturing faults from the date of purchase.<br>
    <br>
    <b>Frame</b>: <span style="titlecaps">BLACK PRINT</span><br>
    <hr style="border:dotted #DDD; border-width:1px 0 0 0; height:0;line-height:0px;font-size:0;margin:0;padding:10px;">
    <b>Lens</b>: <span class="titlecaps">SMOKE GRAD</span><br>
    <span style="font-family:times new roman;"><span style="font-weight:bold">DESIGNER NOTES</span><br>
    <br>
    Bold and glamorous, this oversize square style features soft curves featuring signature Le Specs Aztec print.
    </span>
    </div>
    
    Frame: BLACK PRINT
    Lens: SMOKE GRAD
    
    $.each($(".descholder"), function(){
          var originalVal = $(this).html();
          var firstVal = originalVal.indexOf("Frame");
          var secondVal = originalVal.indexOf("<br>");
          var lensResult = originalVal.substring(firstVal, secondVal);
          var regex = /(<([^>]+)>)/ig;
          var body = lensResult;
          var result = body.replace(regex, "");
          result = result.replace("Frame: ", '');
          $(this).parent('.descresult').html(result);
    });