2012-06-08 58 views
1

我試圖提取所有文本,直到出現第一個數字。 假設我有這種字符串"Paris 01 Louvre"。我想 喜歡只有"Paris"或者如果我已經"Neuilly sur Seine 03 bla blab" 我想提取"Neuilly sur Seine"在javascript中的第一個數字之前獲取子字符串

我在javascript中使用正則表達式掙扎,但我找不到合適的公式。

+0

'你到目前爲止試過的東西'在我看來並不適合這裏。 – Sarfraz

回答

3
"Neuilly sur Seine 03 bla blab".match(/^\D+(?=\s)/); 
// => Neuilly sur Seine 

此答案也確保尾隨空白不捕獲。

+1

它只會確保1個尾部空間未被捕獲。 – nhahtdh

+0

完美!再次感謝您的反應 –

0

什麼,但一個數:

^[^0-9]* 
  • ^是啓動的行
  • []表示字符類別內的字符類
  • ^的意思是 「反轉這個類」
  • 0-9是數字0到9,所以[^0-9]意味着除0到9之外的任何字符
  • *是「零個或多個」,它如下
1

基本正則表達式的字符/類:

var re = /^([^\d]+)\s/;  
var str = "Neuilly sur Seine 03 bla blab"; 
console.log(str.match(re)); 
0

這會抓取任何不是字符串開頭的數字。

s.match(/^\D*/) 
相關問題