2013-06-29 4 views
0

В принципе, я хотел бы создать функцию Javascript, чтобы вернуть мне строку между первым символом пробела и символом '='.Получить строку между первым символом пробела и символом '='

Для например: -

ABC123 Mercedes Benz = 300,000 

Функция должна вернуть мне Mercedes Benz. Есть ли способ сделать это?

ответ

0

Может быть, не самый лучший способ, но

function getSmth(str) { 
    var i = str.indexOf(' ') + 1; 
    var j = str.indexOf('='); 
    return str.substr(i, j - i - 1); 
} 
2

Вы должны использовать regular expression:

var myStr = "ABC123 Mercedes Benz = 300,000" 
var targetStr = myStr.replace(/^[^\s]*\s(.*)=.*$/, "$1") 

Метод replace возвращает новую строку, так myStr еще сохраняет свою первоначальную стоимость, но targetStr имеет соответствующая часть.

0

Попробуйте это:

function getPartial(str) 
{ 
    var partial = ''; 

    var io = str.indexOf(' '); 
    if (io > 0) 
    { 
     partial = str.substring(io); 
     var io2 = partial.indexOf('='); 
     if (io2 > 0) 
     { 
      partial = partial.substring(0, io2); 
     } 
    } 

    return partial; 
} 

var str = 'ABC123 Mercedes Benz = 300,000'; 
var partial = getPartial(str); 

alert(partial); 
0
var s = "ABC123 Mercedes Benz = 300,000"; 
s = s.substring(s.indexOf(" ")+1); 
var result = s.substring(0, s.indexOf("=")-1); 
1

Вы действительно должны опубликовать некоторые из ваших собственных попыток, а не ожидать, SO сделать все для вас. Это должно работать в этом конкретном случае;

var get_second_word = function (string){ 

     var p1 = string.indexOf(" "),//get position of first space 
      p2 = string.indexOf("="),//get position of = 
      len = p2 - p1,// length of chunk = pos of '=' - pos of first space 
      chunk = string.substr(p1, len); //get the substring 

      return chunk; 

    }, 
    string = "ABC123 Mercedes Benz = 300,000", 
    word = get_second_word(string); 

    document.write(word);// prints 'Mercedes Benz'