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,也不会找到其他货币。即使是美元而不是美元也找不到。