javascript 用js删除字符串第一点之前的一部分

ryoqjall  于 2023-04-28  发布在  Java
关注(0)|答案(6)|浏览(363)

我有下一个问题。我需要删除字符串中第一个点之前的一部分。我尝试使用split函数:

var str = "P001.M003.PO888393"; 
str = str.split(".").pop();

但是str的结果是"PO888393"
我只需要删除第一个点之前的部分。我想要下一个结果:"M003.PO888393"
有人知道我该怎么做?谢谢!

yxyvkwin

yxyvkwin1#

我能想到的一个解决方案是找到第一个周期的索引,然后使用substring方法从index+1中提取字符串的其余部分。

let str = "P001.M003.PO888393"; 
str = str.substring(str.indexOf('.')+1);
console.log(str)
mwg9r5ms

mwg9r5ms2#

您可以使用regular expression.replace()来匹配从字符串开始到第一个点.的所有内容,然后将其替换为空字符串。

var str = "P001.M003.PO888393"; 
var res = str.replace(/^[^\.]*\./, '');
console.log(res);

Regex解释:

  • 匹配字符串的开头
  • [^\.]*匹配零个或多个(*)不是.字符的字符。
  • \.匹配.字符

使用这些组合匹配,字符串中的第一个字符包括第一个.,并用空字符串''替换它。

vfwfrxfs

vfwfrxfs3#

您可以使用splitsplice函数删除第一个条目,并使用join函数再次合并其他两个字符串,如下所示:

str = str.split('.').splice(1).join('.');

结果是

M003.PO888393
var str = "P001.M003.PO888393";
str = str.split('.').splice(1).join('.');
console.log(str);
0yycz8jy

0yycz8jy4#

使用正则表达式/^\w+\./g调用字符串replace可以做到这一点:

let re = /^\w+\./g
let result =  "P001.M003.PO888393".replace(re,'')
console.log(result)

其中:

  • \w是单词字符
  • +表示一次或多次
  • \.字面意思.
1hdlvixo

1hdlvixo5#

有很多方法可以做到这一点:

let str = "P001.M003.PO888393";
    str = str.slice(str.indexOf('.') + 1);
let str = "P001.M003.PO888393"; 
    str = str.substring(str.indexOf('.') + 1);
  • 使用substr函数
let str = "P001.M003.PO888393";
    str = str.substr(str.indexOf('.') + 1);
  • 然后...
smdnsysy

smdnsysy6#

RegExp上使用String.prototype.replace()和非贪婪量词*?

> 'P001.M003.PO888393'.replace(/.*?\./, '')
'M003.PO888393'

相关问题