【问题标题】:Need a javascript function that doesn't care about special characters in a string需要一个不关心字符串中特殊字符的javascript函数
【发布时间】:2016-01-31 17:39:38
【问题描述】:

我有这个 html 字符串 x:

Michelle Brook
<br></br>
The Content Mine
<br></br>
michelle@contentmine.org

取自http://www.dlib.org/dlib/november14/brook/11brook.html的第一行

我想获得x.substring(0,14)=Michelle Brook。 问题是在 M 之前,有两个特殊字符(unicode code=10)使x.substring(0,14)=Michelle Bro

其实用x.split("")我可以看到{" "," ","M",.....}

我不会删除这些字符。 我想让substring 做正确的事情“记住”特殊字符。我该怎么办?有没有其他的 javascript 函数可以做到这一点?

【问题讨论】:

  • 我觉得那两个特殊字符是回车符和换行符。你可以在使用substring之前先trim
  • 你可以查看这个链接,它对你有帮助stackoverflow.com/questions/2786538/…
  • 使用合适的html微模板,问题就消失了

标签: javascript regex string substring


【解决方案1】:

来自您的网页:

window.onload = function() {
  var arrStr = document.getElementsByClassName('blue')[0].innerHTML.replace(/[^A-Za-z0-9 <>]/g, '').split('<br>');
   alert(arrStr[0].trim());
}
<p class="blue">

    Michelle Brook<br>
    The Content Mine<br>
    michelle@contentmine.org<br><br>

    Peter Murray-Rust<br>
    University of Cambridge<br>
    pm286@cam.ac.uk<br><br>

    Charles Oppenheim<br>
    City, Northampton and Robert Gordon Universities<br>
    c.oppenheim@btinternet.com

    <br><br>doi:10.1045/november14-brook
</p>

使用替换功能,您可以删除任何您不感兴趣的字符: 在您的情况下,我认为您正在寻找字母(大写,小写),数字和空格。您可以添加其他要删除的字符。

【讨论】:

    【解决方案2】:

    你不能在函数中删除这个字符串并修剪字符串的开头和结尾。

    【讨论】:

      【解决方案3】:

      使用.trim 删除\n(代码10)

      trim() 方法从字符串的两端删除空格。 此上下文中的空白是所有空白字符(空格、 制表符、不间断空格等)和所有行终止符(LF、 CR 等)。

      x.trim().substring(0,14);
      

      或者使用正则表达式:

      var match = x.match(/[\w ]{14}/);
      console.log(match[0]);
      

      【讨论】:

        猜你喜欢
        • 2019-02-13
        • 1970-01-01
        • 2016-09-27
        • 2011-02-16
        • 1970-01-01
        • 1970-01-01
        • 2021-08-21
        • 2014-10-05
        • 2013-12-27
        相关资源
        最近更新 更多