C#字符串约定解析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#字符串约定解析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1427字,纯文字阅读大概需要3分钟。
内容图文
![C#字符串约定解析](/upload/InfoBanner/zyjiaocheng/754/16b06178aad84d7789080de3b0dc9a31.jpg)
我对C#很新,并且有一个用户输入字符串(我希望有效.)
该字符串将构成信息的多个部分和子部分.
例如:
1-7 will //represent values 1 2 3 4 5 6 7
3:.25:7 //will be the numbers contained between 3 and 7 in increments of .25
// (3 3.25 3.5 3.75 4 ... 6.75 7)
1,4,5 //will represent values 1 4 5
我希望能够迭代一个类似于此的单个字符串,并获得尽可能多的数组,因为数据由分号(;)分隔
主要目标是解析这样的事情:
1-7;3:.25:10;1,5,9;4-7
由于上面有4个“数据集”,我应该创建4个包含这些值的新数组.如果我有n个“数据集”,我应该创建n个新数组.
后来我想使用所有组合以嵌套方式遍历数组.
如果可能(不要求)也可以进行某种混合的表示,如下所示:
1-7,9,16:2:20;
我希望我在这里想要完成的事情在我的例子中是有道理的.
谢谢!
解决方法:
好吧,可能会有一个聪明的RegEx的答案,我会尝试使用我最喜欢的string.Split()函数.
作为第一步,您可以将输入字符串拆分为’;’
string[] datasets = inputString.Split(';');
就你的最后一点而言,似乎逗号’,’或多或少相同,你可以将它与Split(‘;’,’,’)合并,或者将它们分开
string[] parts = datasets[i].Split(',');
然后一部分是三种情况之一:单个数字,范围或步进范围.
您可以使用string.IndexOf()和/或探测它
string[] rangeParts = parts[j].Split('-');
string[] steppedParts = parts[j].Split(':');
结果应分别为长度2和3.
然后应使用TryParse()检查生成的字符串,并且由于使用了标点字符,您最好修复文化:
bool valid = double.TryParse(parts[k],
System.Globalization.NumberStyles.AllowDecimalPoint,
System.Globalization.CultureInfo.InvariantCulture, out value);
这些是部件,需要一些装配.
内容总结
以上是互联网集市为您收集整理的C#字符串约定解析全部内容,希望文章能够帮你解决C#字符串约定解析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。