以下是我编写的一段代码
string arrayToConvert = "$78 89 12 78 89 12%";
string s2 = s1.Substring(1, s1.Length - (2));
有两个目标要实现
我能够删除字符串中的第一个和最后一个字符并将其存储到新字符中,没问题。问题是当我尝试将数据放入整数数组时。我尝试使用以下语法来实现所需的目标。
int[] ia = s1.Split(' ').Select(int.Parse).ToArray();
和
int n;
int[] ia = s1.Split(' ').Select(s => int.TryParse(s, out n) ? n : 0).ToArray();
获得的输出是“4455667788110121”,它显然不是输入字符串中的数字。如果这个问题重复,请指出我正确的方向。任何帮助表示赞赏。
答案 0 :(得分:1)
很可能你使用的是错误的字符串。您的原始字符串是`arrayToConvert,但您尝试清理其他字符串s1。最后你尝试拆分s1,而不是清理过的s2。
以下行返回一个具有预期值的数组:
var ints= "$78 89 12 78 89 12%"
.Trim(new[]{'$','%'})
.Split(' ')
.Select(int.Parse)
.ToArray();
我使用Trim
而不是Substring
只是将所有内容都放在一个语句中。