2016-04-01 11 views
0

Bir dosya adı almaya çalışarak bir dizge döndürmesini sağlayın.Yeni dosya adı döndürmek için normal ifadeyi kullanma

çevirmek deneyin:

plaka 71-kış-şahin-FINAL.jpg içine

: plakası da büyük harfe olabilir

son

kış şahin. Eğer

var newString = theString.replace(/^[Pp]late-\d+-(.*)\.jpg$/, '$1') 
         .replace(/-/g, ' '); 

dikkat edin: Ben bugüne kadar, daha iyi bir yol sunmuyor maalesef

var theRegEx = new RegExp('[Plate|plate]-\d+-(.*).jpg'); 
var theString = "plate-71-winter-hawk-final.jpg" 

var newString = theString.replace(theRegEx, theString); 

newString; 
+0

Neden bunu yapmak için bir normal ifade gerekiyor Gerektiği kadar uzun standart desen aşağıdaki şekilde dize uzunluğuna bağlı değil mi? Bu yazıyı yazabileceğinden çok daha hızlı bir şekilde yapmak için Substring ve Replace kombinasyonunu kullanabilirsiniz. –

+0

oh, farkında değildim. Düşünce ifadesi en kolay yol olabilir mi? – lukasz

+0

Regex, özellikle bu tür bir işlemle uğraşırken basit dize işlemeden çok daha karmaşıktır. Bu karmaşıklığa ihtiyacın yok. –

cevap

2

, "Kural # 1" çalışmak görünmüyor ne var backslahes kaçmak için nesne sözdizimi ile bir dize kullanın: bir karakter sınıfı karakter kümesi yalnızca olduğunu

var theRegEx = new RegExp('^[Pp]late-\\d+-(.*)\\.jpg$'); 

not, sen alt dizeleri ve özel regex koymak için kullanamazsınız karakterler anlamlarını kendi içinde kaybederler. komut aşağıdaki

var theRegEx = new RegExp(/^[Pp]late-\d+-(.*)\.jpg$/); 
+0

Bu, "winter-hawk-final" değerini döndürür. Çıkarılmamalı mı? –

+0

Evet, bir boşlukla değiştirilmesi gerekiyor. –

+0

evet .replace (/ -/g, ''); Bunu düzeltiyor gibi görünüyor, onun örneğinde. Bu çalıştı, teşekkürler! – lukasz

0

Dene: [Plate|plate] Sen (dize olmadan) de bu gibi yazabilirsiniz [Pplate|]

daha aynı şeydir.

var data = "plate-71-winter-hawk-final.jpg"; 
var rx = /(?:plate\-\d+\-)(.*)(?=\.)/i; 

var match = rx.exec(data); 
if(match != null){ 
    data = match[1]; 
    data = data.replace(/\-/g, ' '); 
} 

console.log(data); 

O yazdırır: Nihai

kış şahin

İlgili konular