正则表达式以分隔不同的货币和数值

阿尔萨兰·亚当·哈特里(Arsalan Adam Khatri)

我一直坚持用货币符号和文本分隔数字值。我有一个清单,其中有类似的值

$ 164.5
256.29 $
3,056.46
121.88 EUR
€156.12

我需要将货币的符号/代码和数字值分开。

有人可以帮忙吗?

阿里

一个很好的资源是:http : //www.regexr.com/

Regex r = new Regex(@"((?<CurrencySymbol>(?<=\s)[^\d\-+\.,]{1,3}) *(?<CurrencyValue>[0-9\.,]+))|((?<CurrencyValue>[0-9\.,]+) *(?<CurrencyCode>[A-Z]{3}))");

string sss = 
@"$164.5
256.29 SAR
œ3,056.46
121.88 EUR
€156.12";

var matches= r.Matches(sss);

foreach (Match match in matches)
{
      Console.WriteLine("____________ "+match.Value);
      if (match.Groups["CurrencySymbol"].Success) 
         Console.WriteLine("CurrencySymbol: " + match.Groups["CurrencySymbol"].Value);
      if (match.Groups["CurrencyValue"].Success)
         Console.WriteLine("CurrencyValue: " + match.Groups["CurrencyValue"].Value);
      if (match.Groups["CurrencyCode"].Success)
         Console.WriteLine("CurrencyCode: " + match.Groups["CurrencyCode"].Value);
}

结果:

____________ $164.5
CurrencySymbol: $
CurrencyValue: 164.5
____________ 256.29 SAR
CurrencyValue: 256.29
CurrencyCode: SAR
____________ o3,056.46
CurrencySymbol: o
CurrencyValue: 3,056.46
____________ 121.88 EUR
CurrencyValue: 121.88
CurrencyCode: EUR
____________ €156.12
CurrencySymbol: €
CurrencyValue: 156.12

模式说明:

((?<CurrencySymbol>(?<=\s)[^\d\-+\.,]{1,3}) *(?<CurrencyValue>[0-9\.,]+))|((?<CurrencyValue>[0-9\.,]+) *(?<CurrencyCode>[A-Z]{3}))

[0-9\.,]+ -匹配数字,逗号或点,至少1次

(?<CurrencyValue>[0-9\.,]+) -是一个已命名的组

[A-Z]{3} -使字符串完全由3个大写字母组成(我认为所有货币代码都这样。.?)

(?<CurrencyCode>[A-Z]{3}) -是一个已命名的组

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式以分隔不同的货币和数值

来自分类Dev

货币正则表达式

来自分类Dev

货币的正则表达式(JavaScript)

来自分类Dev

货币正则表达式

来自分类Dev

正则表达式以提取数值

来自分类Dev

分隔路径的正则表达式

来自分类Dev

逗号分隔的正则表达式

来自分类Dev

正则表达式-分隔数字

来自分类Dev

用正则表达式“。”分隔。

来自分类Dev

PHP - 正则表达式获取以字符分隔的格式化整数值

来自分类Dev

Python正则表达式用于不同的单词和数字

来自分类Dev

什么是货币符号的正则表达式?

来自分类Dev

金额和货币的Javascript正则表达式

来自分类Dev

Angular中的货币正则表达式

来自分类Dev

多种货币的Javascript正则表达式

来自分类Dev

金额和货币的Javascript正则表达式

来自分类Dev

货币 ISO 代码和符号的正则表达式

来自分类Dev

正则表达式货币 Python 3.5

来自分类Dev

正则表达式替换零十进制货币

来自分类Dev

正则表达式与众不同

来自分类Dev

如何在正则表达式中使用不同的分隔符(/,|)

来自分类Dev

正则表达式以标识Guid和数字

来自分类Dev

正则表达式-字母和数字之间的交替

来自分类Dev

组合正则表达式字母和数字

来自分类Dev

特殊字符和数字的正则表达式

来自分类Dev

正则表达式仅匹配字母和数字

来自分类Dev

Stata正则表达式提取数值

来自分类Dev

正则表达式:出现PHP之前的数值

来自分类Dev

正则表达式匹配括号内的数值