2013-10-10 3 views
0

У меня есть строка, которую мне нужно разделить на javascript var str = 'Lenovo Essential G500s (59-388254) Ноутбук (3-го поколения Ci5/8GB/1TB/DOS/2GB Graph) (Бесплатная сумка для переноски) (черный)' ;Как разбить строку после n-го появления символа?

мне нужно получить только «Lenovo Essential G500s (59-388254) Ноутбук» т.е., я должен быть в состоянии разделить строку после второго появления «(» характер.

Я попытался с помощью .split() функция, но я не в состоянии определить положение. Пожалуйста, помогите.

ответ

2
var str = 'Lenovo Essential G500s (59-388254) Laptop (3rd Gen Ci5/ 8GB/ 1TB/ DOS/ 2GB Graph) (Free carry bag) (Black)'; 

    var firstBracket = str.indexOf('('); 
    var secondBracket = str.indexOf('(', firstBracket+1) 
    str.substring(0, secondBracket); 

Это даст вам раздел, который вы ищете.

для более общего решения, см существующий ответ : How to get the nth occurrence in a string?

+1

OP просит п-го появления. Это соответствует только одному примеру, в котором n = 1 (при условии индекса на основе нуля). – Boaz

+1

Он запрашивает «второе появление» («символ». Я не вижу вопроса для n-го события. –

+0

Я добавлю существующий вопрос, который раскрыл быстрый Google. –

1

попробовать это:

var str = 'Lenovo Essential G500s (59-388254) Laptop (3rd Gen Ci5/ 8GB/ 1TB/ DOS/ 2GB Graph) (Free carry bag) (Black)'; 

var index = str.indexOf(")"); 

var res = str.substring(0, index +1); 

alert(res); 

Приветствия

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