Como remover parte de uma string antes de um “:” em javascript?

111

Se eu tiver uma string Abc: Lorem ipsum sit amet, como posso usar JavaScript / jQuery para remover a string antes de :incluir o :. Por exemplo, a seqüência acima será: Lorem ipsum sit amet.

Vencedor
fonte
2
Eu adicionei a tag javascript porque está na questão e é mais relevante para a questão do que jquery.
Spudley

Respostas:

290

Não há necessidade de jQuery aqui, JavaScript regular fará:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Ou a versão .split()e .pop():

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

Ou a versão regex (várias variantes desta):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];
Nick Craver
fonte
1
Ótima resposta, adoro as diferentes soluções
Aardvark
22
Observe que se houver mais de um :na string, a segunda variante retornará a string após a última em vez da primeira como nas outras. É uma pena que não haja uma opção de divisão apenas n vezes no split()método JS , o que permitiria que você fizesse um estilo Python .split(':', 1)[1]. (Não é um opcional numberargumento, mas não faz o que qualquer pessoa razoável seria de esperar.)
bobince
@bobince - Você está certo, estou supondo um pouco aqui que ele tem um label: somethingformato consistente , se não for esse o caso, eu escolheria a primeira opção.
Nick Craver
2
Você pode dividir e unir para eliminar alguns elementos com base no separador. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand