替换字符串的第一个字符

时间:2010-06-07 19:00:24

标签: javascript

我有一个字符串|0|0|0|0

但需要0|0|0|0

如何将第一个字符('|')替换为('')。例如replace('|','')

(使用JavaScript)

7 个答案:

答案 0 :(得分:58)

你可以完全拥有你所拥有的:)

var string = "|0|0|0|0";
var newString = string.replace('|','');
alert(newString); // 0|0|0|0

You can see it working here,javascript中的.replace()仅默认替换第一次出现(不含/g),因此这对您有利:)

如果您需要检查第一个字符是否为管道:

var string = "|0|0|0|0";
var newString = string.indexOf('|') == 0 ? string.substring(1) : string;
alert(newString); // 0|0|0|0​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

You can see the result here

答案 1 :(得分:17)

str.replace(/^\|/, "");

这将删除第一个字符,如果它是|。

答案 2 :(得分:15)

var newstring = oldstring.substring(1);

答案 3 :(得分:3)

如果您不确定第一个字符是什么(0或|),那么以下内容是有道理的:

// CASE 1:
var str = '|0|0|0';
str.indexOf( '|' ) == 0 ? str = str.replace( '|', '' ) : str;
// str == '0|0|0'

// CASE 2:
var str = '0|0|0';
str.indexOf( '|' ) == 0? str = str.replace( '|', '' ) : str;
// str == '0|0|0'

如果没有条件检查,str.replace仍会删除第一次出现的'|'即使它不是字符串中的第一个字符。在CASE 2的情况下,这将给你不希望的结果(str将是'00 | 0')。

答案 4 :(得分:0)

它确实是你的建议。

"|0|0|0".replace('|', '')

返回"0|0|0"

答案 5 :(得分:0)

尝试一下:

var str = "|0|0|0|0";
str.replace(str.charAt(0), "");

请避免使用substr(),因为它被认为是deprecated

答案 6 :(得分:-1)

"|0|0|0|0".split("").reverse().join("")  //can also reverse the string => 0|0|0|0|