删除所有特殊字符的第一次出现

时间:2017-03-28 08:23:31

标签: javascript

helloo ...我需要删除所有内容,直到第一次出现特殊字符..

说我有这样的字符串..

let str = `28 Mar 2017 ... helloo ... i need to remove everything until first occurrence of special charaters ...`

我需要移除28 Mar 2017 ...,因此成为helloo ... i need to remove everything until first occurrence of special charaters ...

我做了

str.split(" ... ").pop()

它只是在“...”发生时删除所有内容,而不是第一次发生...它只适用于只有1“......”

也欢迎正则表达式..

谢谢你..

4 个答案:

答案 0 :(得分:3)

天真的解决方案:

    var str = "28 Mar 2017 ... helloo ... i need to remove everything until 
             first occurrence of special charaters ...";
    var res = str.substring(str.indexOf('...')+3, str.length);

问候。

答案 1 :(得分:2)

如果您想使用split,则应使用shift(),这将删除数组中的第一项。 pop()正在删除最后一个



let str = `28 Mar 2017 ... helloo ... i need to remove everything until first occurrence of special charaters ...`;

let split = str.split(' ... '); //Split by characters needed
split.shift(); //Shift first index => everything before characters

console.log(split.join(" "));




答案 2 :(得分:2)

这可以通过使用正则表达式的?来实现。

完整的正则表达式分解:

  • ^字符串的开头
  • .+无限次匹配任何角色
  • ?匹配前面的表达式0或1次
  • (\.\.\.) ...其中.\
  • 转义
  • 正则表达式的最后一个空格

然后使用String.prototype.replace将空字符串替换regex描述的集合。

See the regex here.



let str = `28 Mar 2017 ... helloo ... i need to remove everything until first occurrence of special charaters ...`

console.log(str.replace(/^.+?(\.\.\.) /, ''))




答案 3 :(得分:1)

使用replace函数并传递正则表达式[^.]+[\.]+\s*以替换...之后的第一个字母之前的所有内容和可选空格

看,我们在这里没有使用g标志来匹配第一次出现。

然后,将其替换为''



var str = '28 Mar 2017 ... helloo ... i need to remove everything until first occurrence of special charaters ...';
console.log(str.replace(/[^.]+[\.]+\s*/,''));