2013-06-17 2 views
0

как я могу разделить эти строки так, чтобы получить результаты ниже? Я хочу быть в состоянии сделать что-то вроде этого:разделите строку и удалите сегменты js

alert(img/small/Closed-Main-Fabric-Collar_2018.png.replace(/\-/g, ' ')); 

это предупредит: Замкнутый Main-Fabric-воротник , но мне нужно работать, даже если жало имеет дополнительный/средний/ Я уверен, что мне потребуется две функции замены один, чтобы получить «Замкнутый Main-Fabric-ошейник» и один, чтобы получить «2018»

1. img/small/Closed-Main-Fabric-Collar_2018.png 
2. img/small/Base-Shirt_2016.jpg 
3. img/small/mid/Outside-Pocket-Left_2019.png 
4. img/small/large/Outside-Pocket-Left_2019.png 


1. Closed-Main-Fabric-Collar 
    2018 

2. Base-Shirt 
    2016 

3. Outside-Pocket-Left 
    2019 

4. Outside-Pocket-Left 
    2019 

Спасибо!

+0

принять subString не заменяет –

+0

* «... это предупредило бы: Закрыто-Главное-Ткань-Воротник ...» * Нет, даже не закрывай. Вы на самом деле пытались это сделать? –

+0

Да, я знаю, что это не работает. Вот почему я задаю вопрос. – user2238083

ответ

1

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

var str = "img/small/Closed-Main-Fabric-Collar_2018.png"; 
var match = /\/([A-Za-z\-]+)_(\d+)\.$/.exec(str); 
if (match) { 
    // match[1] has "Closed-Main-Fabric-Collar" 
    // match[2] has "2018" 
} 

Это регулярное выражение ломается так:

  • \/ Match буквальным /
  • (...) Захватите текст, соответствующий выражению в этих круглых скобках.
  • [A-Za-z\-]+ Матч один или несколько символов A - Z, a - z и -.
  • _ Соответствие литералу _.
  • \d+ Матч один или несколько цифр
  • \. Совпадение буквальным ..

Поскольку существует две группы захвата, они захватили в [1] и [2] свойстве получившегося объекта Спичечного.

+0

Спасибо T.J. как насчет строки с .jpg – user2238083

+1

Я думаю, что это осталось до вас, вы можете начать здесь http://www.regular-expressions.info/ – elclanrs

+0

@ user2238083: Вам действительно не нужна часть 'png', поэтому Я удалил его выше. –

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