Title1

Title2

Title3

12-1-4 詢問 Chat GPT

詢問 Chat GPT 

  1. 「2罐藍莓果醬 $750」=> 750

"2罐藍莓果醬 $750" 如何從段文字,提取 750呢?

您可以使用正則表達式來從文本中提取價格。假設價格都是以美元符號($)開頭,後面是一個數字(可能包括小數點),則可以使用以下正則表達式:
 

var text = "2罐藍莓果醬 $750";
var priceRegex = /\$([\d,]+(?:\.\d{1,2})?)/; // 匹配 $ 符號後面的數字(可能包含逗號和小數點)
var match = text.match(priceRegex);
var price = match ? match[1] : null;
console.log(price); // 將打印出 750

這段代碼將從文本中提取價格,並將其存儲在 price 變數中。如果文本中包含多個價格,這個正則表達式將提取第一個價格。如果您需要提取所有的價格,可以將正則表達式與 g 修飾符一起使用,例如:

var text = "2罐藍莓果醬 $750, 3包巧克力 $1200";
var priceRegex = /\$([\d,]+(?:\.\d{1,2})?)/g; // 匹配所有的價格
var prices = [];
var match;
while (match = priceRegex.exec(text)) {
prices.push(match[1]);
}
console.log(prices); // 將打印出 ["750", "1200"]

這樣, prices 數組將包含文本中的所有價格。

 

如果文本只會有一個價格呢?

如果您確定文本只會包含一個價格,您可以使用 match 方法直接從正文中提取價格,而不需要循環。以下是一個示例:

var text = "2罐藍莓果醬 $750";
var priceRegex = /\$([\d,]+(?:\.\d{1,2})?)/; // 匹配 $ 符號後面的數字(可能包含逗號和小數點)
var match = text.match(priceRegex);
var price = match ? match[1] : null;
console.log(price); // 將打印出 750

這段代碼將從文本中提取價格,並將其存儲在 price 變數中。如果文本中只包含一個價格,這個正則表達式將提取這個價格。

Youtube影片:https://youtu.be/ZqFnexwxO4c