如何从C#中的字符串中获取数字?

如何从C#中的字符串中获取数字?,第1张

概述string str="this image has the width of 200px and height of 100px.";int width, height; 我怎样才能获得代码 width= 200;height=100; 如果宽度超过150,我将宽度减小到150,我将计算高度 if(width>150){ height=(height*150)/200; width=1
string str="this image has the wIDth of 200px and height of 100px.";int wIDth,height;

我怎样才能获得代码

wIDth= 200;height=100;

如果宽度超过150,我将宽度减小到150,我将计算高度

if(wIDth>150){ height=(height*150)/200; wIDth=150;}

结果字符串将是..

str="this image has the wIDth of 150px and height of 75px.";

我知道substring()indexOf()split()

我知道我可以用“宽度”分割字符串,但我不知道如何找到分割字符串的数量.

解决方法 这有几个部分.首先,我建议使用正则表达式来匹配字符串的一部分,并明确地捕获它的数字部分.

例如,可能的正则表达式可能是:

wIDth\sof\s(?<wIDth>\d+)px\sand\sheight\sof\s(?<height>\d+)px

其中“XXXpx的宽度和YYYpx的高度”匹配,其中XXX被捕获为命名组宽度,YYY被捕获为命名组高度.

这是迄今为止的代码:

string str="this image has the wIDth of 200px and height of 100px.";var regex = new Regex(@"wIDth\sof\s(?<wIDth>\d+)px\sand\sheight\sof\s(?<height>\d+)px");var match = regex.Match(str);

现在,该匹配有2个组,如前所述,名称为wIDth和height.然后使用可以在捕获组上使用int.Parse来获取值作为数字:

var wIDth = int.Parse(match.Groups["wIDth"].Value);var height = int.Parse(match.Groups["height"].Value);

最后一部分,改变数字并重新制定你似乎很好掌握的字符串,所以我没有把它包括在内.

以下是演示以上所有内容的实例:http://rextester.com/rundotnet?code=CLPS3633

总结

以上是内存溢出为你收集整理的如何从C#中的字符串中获取数字?全部内容,希望文章能够帮你解决如何从C#中的字符串中获取数字?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存