可以使用正则表达式从价格中获取货币符号。以下是一个示例代码:
const price = "$25.99";
const currency = price.match(/[^\d.,]+/g)?.[0]; // $ 符号
此代码将从价格中提取货币符号,并将其存储在变量currency
中。在这个例子中,正则表达式/[^\d.,]+/g
表示匹配任何非数字、非点和非逗号的字符,并使用g
修饰符来匹配字符串中的所有符号。match()
方法将返回一个数组,其中第一个匹配的符号将被存储在第0个索引位置处。
我们也可以进一步修改这个代码,使它适用于不同类型的价格字符串:
function getCurrencySymbol(price: string): string | undefined {
const currency = price.match(/[^\d.,]+/g)?.[0];
return currency;
console.log(getCurrencySymbol("$25.99")); // $
console.log(getCurrencySymbol("€19.95")); // €
console.log(getCurrencySymbol("¥165.00")); // ¥
console.log(getCurrencySymbol("₹999.99")); // ₹
这个例子展示了一个通用函数getCurrencySymbol()
,该函数可以应用于不同类型的价格字符串。函数将返回货币符号,如果未找到,则返回Undefined。