Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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
C# 从字符串中查找并提取金额_C# - Fatal编程技术网

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

C# 从字符串中查找并提取金额,c#,C#,我必须从字符串中找到一个值 string s = "I was paid $17,000 for the work."; 代码应该提取17000美元。我如何才能做到这一点?您可以使用Regex.Split方法 // Split on one or more non-digit characters. string[] numbers = Regex.Split(input, @"\D+"); 签出:尝试正则表达式: string sentence = "I was paid $17,000

我必须从字符串中找到一个值

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

代码应该提取17000美元。我如何才能做到这一点?

您可以使用Regex.Split方法

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

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

签出:

尝试正则表达式:

string sentence = "I was paid $17,000 for the work.";
string amount = Regex.Match(sentence, @"\$\d+,\d+").Value;
我使用模式\$\d+,\d+来匹配美元符号、数字、逗号和其他数字


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

您是否可以发布您迄今为止尝试的代码,并解释其不起作用的原因/您遇到的确切问题?您可以使用正则表达式。试着写一个,你可以测试它使用的不是免费的代码编写服务。您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议你读一个好的问题和答案。另外,一定要带上。如果有人写了一些东西,比如我的工作报酬是17美元/小时,总共350美元,你希望发生什么?美元是唯一的货币吗?25000美元怎么样?请不要只发布链接答案。他们被认为是低质量的,通常是不受欢迎的。考虑引用你的代码示例中的相关部分在答案中。它会分裂17000到17和000。@ OP注意到这对你的例子来说是非常具体的。它不会找到以美分表示的金额,例如$23.50,也不会找到其他货币。即使是美元而不是美元也找不到。