格式化文本的字符串结果()

时间:2016-05-20 05:37:28

标签: javascript jquery web-scraping cheerio superagent

美好的一天,有人知道如何格式化或添加一些额外的字符串(就像逗号),由 text()给出的结果?我在网络抓取中使用它。

这是刮刀的片段:

var makeupCatBrand = $('span.caption').children('h6').text().trim()

这是我使用console.log(makeupCatBrand)时的结果:

  

Jeffree StarCharlotte TilburyRCMA MakeupNatasha DenonaAnna SuiJeffree StarSugarpillAnna SuiArmour BeautyOCCSugarpillCover FXIT化妆品均方根beautyMake-向上AtelierCover FXCover FXIT化妆品beautyblenderBY TERRYKevyn AucoinbeautyblenderIT化妆品夏洛特TilburyBY TERRYCover FXViseartCover FXWayne GossRCMA MakeupAnna SuiAnna SuiCover FXOCCAnna SuiCharlotte提尔伯里

我尝试将其推送到数组,但所有这些只显示为数组中的一个索引。

我想为每个品牌添加至少一个逗号( Jeffree Star,Charlotte Tilbury等),以便我可以在推送到阵列之前轻松拆分它。非常感谢任何答案或想法

哦,他们都有同一个班级,没有身份证,这就是为什么如果我一个接一个地抓他们会很难

这里有两个品牌的html代码(所有品牌的格式相同,所以我只包含一个,如果该品牌的产品有两个或更多可用的色调,则唯一的变化< / em>的):

<li class="shop_t_browse">
    <a class="tile" href="/p/jeffree-star-velour-liquid-lipstick" >
        <span class="img txt_c">
            <img class="inlineblock"     src="//dy6g3i6a1660s.cloudfront.net/eNiRpXtM7WlLKE7qyhAw4AR-BH4/320_p-cd/jeffree-star-velour-liquid-lipstick.jpg" alt="Jeffree Star Velour Liquid Lipstick" />
        </span>
        <span class="caption">

            <h6>Jeffree Star</h6>
            <h5>Velour Liquid Lipstick</h5>
            <p><strong>$18 USD</strong></p>
            <small class="shop_msg_color">
                24 shades available
            </small>
            <small class="rating_reviews txt_pale hidden_mobile">
                <div class="ratingInfo">
                    <span class="rating_image_small" style="background-position: 0 -250.0000000000px;"></span>
                    <span class="txt_pale glyph_stat"> / 674</span>
                </div>
            </small>
        </span>
    </a>
</li>

5 个答案:

答案 0 :(得分:0)

您必须使用replace()方法将空白替换为昏迷或昏迷以及白色空间,如下所示:

makeupCatBrand.replace(" ", ",");

makeupCatBrand.replace(" ", ", ");

第一个参数是您想要替换的字符串的一部分,第二个参数是您想要替换它的字符串。

您还可以使用split()方法获取类似的字符串数组:

var strArray = makeupCatBrand.split(" ");

您可以按原样拆分字符串,以便在想要将其保留在最终结果中时添加逗号和空格。

答案 1 :(得分:0)

至于我所看到的,由于您似乎有多个孩子,请分别浏览每一个孩子。

这就是它的运作方式。

var makeupCatBrand;
$('span.caption').children('h6').each(function(){
    makeupCatBrand += $(this).text().trim();
    makeupCatBrand += ", ";
})

答案 2 :(得分:0)

var children = $('span.caption').children('h6');

var resultsArray = [];
for (var i=0;i<children.length;i++) {
  resultsArray[i] = children[i].textContent;
}

console.log(resultsArray);

工作代码 - http://jsbin.com/hozasahota/1/edit?html,js,output

答案 3 :(得分:0)

一行,与&#39;分开,&#39;:

plotOptions: {
  gauge: {
    allowPointSelect: true,
    states: {
      hover: {
        enabled: true,
        marker: {
          fillColor: "#FF0000",
          lineColor: "#0000FF",
          lineWidth: 5
        }
      }
    }
  }
},

......因为它是&#39;,&#39;可省略,因为它是默认值。我把它放在代码中,表明可以自定义分隔符。

答案 4 :(得分:-1)

var arr = [];
$('span.caption').children('h6').each(function()
{
    arr.push($(this).text().trim());
});
console.log(arr.join(","));