我試圖提取所有文本,直到出現第一個數字。 假設我有這種字符串"Paris 01 Louvre"
。我想 喜歡只有"Paris"
或者如果我已經"Neuilly sur Seine 03 bla blab"
我想提取"Neuilly sur Seine"
。在javascript中的第一個數字之前獲取子字符串
我在javascript中使用正則表達式掙扎,但我找不到合適的公式。
我試圖提取所有文本,直到出現第一個數字。 假設我有這種字符串"Paris 01 Louvre"
。我想 喜歡只有"Paris"
或者如果我已經"Neuilly sur Seine 03 bla blab"
我想提取"Neuilly sur Seine"
。在javascript中的第一個數字之前獲取子字符串
我在javascript中使用正則表達式掙扎,但我找不到合適的公式。
"Neuilly sur Seine 03 bla blab".match(/^\D+(?=\s)/);
// => Neuilly sur Seine
此答案也確保尾隨空白不捕獲。
它只會確保1個尾部空間未被捕獲。 – nhahtdh
完美!再次感謝您的反應 –
什麼,但一個數:
^[^0-9]*
^
是啓動的行[]
表示字符類別內的字符類^
的意思是 「反轉這個類」0-9
是數字0到9,所以[^0-9]
意味着除0到9之外的任何字符*
是「零個或多個」,它如下基本正則表達式的字符/類:
var re = /^([^\d]+)\s/;
var str = "Neuilly sur Seine 03 bla blab";
console.log(str.match(re));
^(.+?)\d
,抓住第一個數字(\d
)之前的所有內容。 Play with the regex here。
這會抓取任何不是字符串開頭的數字。
s.match(/^\D*/)
'你到目前爲止試過的東西'在我看來並不適合這裏。 – Sarfraz