2015-02-25 3 views
0
var one = "mb50 mt60"; 

Как я могу поместить следующие два символа после определенного символа в свою собственную строку?Как выбрать следующие два символа в строке?

Например: Из приведенного выше кода я хочу, чтобы число 50 в его собственной строке. Мне нужно, чтобы он искал «mb», а затем взял следующие два символа.

Я не могу использовать indexOf, потому что символы могут быть в другом месте каждый раз.

+0

Не хотите ли вы удалять 'mb' и 'mt' из строки и взорвать ее с помощью ''? –

+0

Вы пытаетесь найти только цифры в строке? –

+1

Как перемещение символов означает, что вы не можете использовать 'indexOf'? –

ответ

1

С регулярных выражений вроде:

str.match(/mb(.{2})/)[1] 

Если есть больше чем один «Следующие два символа» для захвата, вы должны использовать заменить:

var one= "mb50 mt60 mb20"; 
var results = []; 
one.replace(/mb(.{2})/g, function() { 
    results.push(arguments[1]); 
}); 
console.log(results); 
2

Вы можете использовать регулярные выражения, как :

var one = "mb50 mt60"; 
var regex = /mb(\d+)/g; 
console.log(regex.exec(one)[1]); // => '50' 
2

Вы можете попробовать сделать что-то вроде этого

var string = "mb50 foo300", 
 
    search = 'foo'; 
 

 
console.log(string.substr(string.indexOf(search) + search.length, 2));

или регулярное выражение способом, как Гаэль предложил.

Смежные вопросы