从字符串中查找并提取金额

时间:2018-09-20 15:28:44

标签: c#

我必须从字符串中找到一个金额。

string s = "I was paid $17,000 for the work.";

代码应提取$17,000。我该怎么办?

2 个答案:

答案 0 :(得分:3)

尝试正则表达式:

string sentence = "I was paid $17,000 for the work.";
string amount = Regex.Match(sentence, @"\$\d+,\d+").Value;

我使用模式\$\d+,\d+来匹配美元符号,数字,逗号和再次的数字。

您还可以使用\$[^ ]+来匹配美元符号,然后使用一个或多个与空格不同的字符,此解决方案更为通用。

答案 1 :(得分:2)

您可以使用Regex.Split方法

// Split on one or more non-digit characters.

string[] numbers = Regex.Split(input, @"\D+");

签出:This code sample