Regex c#中的正则表达式货币格式(Xamarin)
在文本字段中输入货币值时,在Regex how do I的帮助下,当用户在数字文本字段中输入值时,自动使逗号出现 例如: 一美元 15美元 153美元 1530美元 15306美元 1,53068元Regex c#中的正则表达式货币格式(Xamarin),regex,xamarin,xamarin.forms,currency-formatting,Regex,Xamarin,Xamarin.forms,Currency Formatting,在文本字段中输入货币值时,在Regex how do I的帮助下,当用户在数字文本字段中输入值时,自动使逗号出现 例如: 一美元 15美元 153美元 1530美元 15306美元 1,53068元 逗号应在我不断插入数字时自动替换。您需要两步替换过程: 通过替换到目前为止插入的所有逗号来消除这些逗号 , 通过空字符串 在右边的位数可被三整除且左边的字符不是$的所有位置插入新逗号: (?<!\$)(?=(?:\d{3})+$) 输出: $1 $15 $153 $1,530 $15,30
逗号应在我不断插入数字时自动替换。您需要两步替换过程:
,
通过空字符串$
的所有位置插入新逗号:
(?<!\$)(?=(?:\d{3})+$)
输出:
$1
$15
$153
$1,530
$15,306
$153,068
$1,530,683,456,543,456
编辑:演示是PCRE,但我尽量不使用C#中没有的任何功能。这似乎也很管用。到目前为止你试过什么?确切地说,
$1,53068
是什么?@AndreyTyukin一个打字错误,我猜想它是我的iOS设备上的一个货币字段。另一种方法是在用户输入文本并根据字符串长度插入,
时,计算字符串的长度(),就像检查字符串长度是否为5一样,然后使用string.insert()
在特定索引处插入该字符串!但这只有在您知道文本中最多有多少个字符时才有用。
$1
$15
$153
$1,530
$15,306
$153,068
$1,530,683,456,543,456