我使用此正则表达式从带有点(.
)分隔符的数字中删除尾随零:
(?:(\.\d*[1-9])|\.)0*$
我正在替换为$1
。
示例:
它会给我:
但它似乎与逗号(,
)的工作方式不同。我试过这个但没有运气:
(?:(\,\d*[1-9])|\,)0*$
我是PHP的新手,这是我的第一个问题。提前谢谢。
答案 0 :(得分:3)
如果这些是单独的字符串,仅限数字,则使用:[.,]?0*$
并将其替换为空字符串。
答案 1 :(得分:2)
假设您的意思是用逗号(如1,50)替换十进制数的尾随零,而不是使用逗号将数字替换为三元组,而是搜索(\d*[.,](?:\d*[1-9]|))0*$
并将其替换为$1
如果正则表达式与您的字符串不匹配,则不存在点或逗号,这意味着该数字不是小数部分,因此您不希望删除尾随零,因为它们很重要。
请记住,使用正则表达式,您需要转义点,因为它是一个特殊符号(括号之间除外),但您不应该转义逗号