Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex c#中的正则表达式货币格式(Xamarin)_Regex_Xamarin_Xamarin.forms_Currency Formatting - Fatal编程技术网

Regex c#中的正则表达式货币格式(Xamarin)

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

在文本字段中输入货币值时,在Regex how do I的帮助下,当用户在数字文本字段中输入值时,自动使逗号出现

例如:

一美元

15美元

153美元

1530美元

15306美元

1,53068元


逗号应在我不断插入数字时自动替换。

您需要两步替换过程:

  • 通过替换到目前为止插入的所有逗号来消除这些逗号

    ,
    
    通过空字符串

  • 在右边的位数可被三整除且左边的字符不是
    $
    的所有位置插入新逗号:

    (?<!\$)(?=(?:\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