如何删除部分字符串?

Nul*_*uli 64 javascript string

让我们说我有test_23,我想删除test_.

我怎么做?

之前的前缀_可以改变.

And*_*y E 120

我最喜欢这样做的方法是"分裂和弹出":

var str = "test_23";
alert(str.split("_").pop());
// -> 23

var str2 = "adifferenttest_153";
alert(str2.split("_").pop());
// -> 153
Run Code Online (Sandbox Code Playgroud)

split()
pop()

  • 我这里的C程序员对这个简单的分割/弹出操作创建和销毁的对象数量感到不满:)可能:一个数组,一个字符串,另一个数组,另一个字符串. (16认同)
  • @xgbi:是的,JavaScript和C开发人员有相当不同的哲学,但是;-) (7认同)
  • 您可以在回答中添加使用`alert(str.split("_")[1])的可能性;`因为`.split`创建一个包含两个元素的数组,`[0]`在``_之前"`和`[1]`之后.这实际上就是我想要的,但你的回答帮助我到达那里^^ (3认同)

Bol*_*ock 35

假设您的字符串始终以'test_':

var str = 'test_23';
alert(str.substring('test_'.length));
Run Code Online (Sandbox Code Playgroud)

  • 见安迪E的回答. (4认同)
  • 如果它不是从测试开始怎么办? (3认同)

Yas*_*azk 17

我认为最简单的方法是:

var s = yourString.replace(/.*_/g,"_");
Run Code Online (Sandbox Code Playgroud)


gaw*_*awi 8

string = "test_1234";
alert(string.substring(string.indexOf('_')+1));
Run Code Online (Sandbox Code Playgroud)

如果字符串没有下划线,它甚至可以工作.在http://jsbin.com/上试试吧

  • 这比安迪E的答案更少,但代码更多.两者都有效,但我更喜欢这种方法. (4认同)

ano*_*nym 8

如果要删除字符串的一部分

let str = "test_23";
str.replace("test_", "");
// 23
Run Code Online (Sandbox Code Playgroud)

如果要替换字符串的一部分

let str = "test_23";
str.replace("test_", "student-");
// student-23
Run Code Online (Sandbox Code Playgroud)