#javascript
#javascript
Вопрос:
Я пытаюсь извлечь данные справа от ‘:’ или использовать ‘:’ в качестве отправной точки для последующего получения данных. Ищу правильные элементы синтаксического анализа для этого.
var test = 'type:input';
charAt выдает мне местоположение ‘:’, но как мне затем получить ‘input’ из var test?
Ответ №1:
Вы можете использовать split
:
var testAfter = test.split(':')[1];
или substr
с indexOf
var testAfter = test.substr(test.indexOf(':') 1);
или slice
var testAfter = test.slice(test.indexOf(':') 1);
или match
var testAfter = test.match(/(:)(. $)/).pop();
или replace
var testAfter = test.replace(/^. :/,'');
если вы хотите свободно использовать любой разделитель, это расширение строки может выполнить эту работу:
String.prototype.dataAfter = String.prototype.dataAfter ||
function(delim){
return this.split(delim)[1];
};
//usage
var testAfter = test.dataAfter(':');
var test2 = 'type#input';
var testAfter = test2.dataAfter('#');
Комментарии:
1. Спасибо. Что, если бы я хотел использовать ‘:’ в качестве разделителя, есть ли способ использовать var test2 = test[1], ‘:’; или какой-либо тип объявления разделителя?
2. Можете ли вы быть более конкретным? Во всех примерах из моего ответа ‘:’ является разделителем. Или вы имеете в виду что-то другое?
Ответ №2:
Как насчет substr?
var test2 = test.substr(test.indexOf(':') 1); // until end