我遇到了麻烦。 我有几个这样的字符串[44,74,57] 现在我想分成3个字符串并省略C#中的括号和逗号,输出将是这样的:
44
74
57
我尝试过substring,concate,Regular表达式,但问题是字符串,它们没有相同的数字或格式[xx, yy, zz]
有些字符串类似[44, 74, 57]
,其他字符串类似于[42, 6653, 40000]
任何人都可以帮助我,我应该使用什么?
答案 0 :(得分:3)
只要[]
和,
非常一致,数字位数就无关紧要,Split
应该有效:
string tempstr = "[44, 74, 57]";
string[] outarray = tempstr.Split("[,] ".ToArray(),StringSplitOptions.RemoveEmptyEntries);
答案 1 :(得分:1)
您问题中的字符串似乎是一个JSON字符串。如果是这样的话
使用json deserialiser代替。一个不错的选择是Newtonsoft.Json
您可以使用命令
将数字作为int数组var array JsonConvert.DesrializeObject<int[]>("[1,2,3]");
答案 2 :(得分:0)
string s = "[22, 4564, 65]";
string result[] = s.Replace('[', '').Replace(']', '').Split(',');
答案 3 :(得分:0)
暴力正则表达式/\[(\d)+, ?(\d+), ?(\d+)\]/
数据将在第1组,第2组和第3组中捕获:http://rubular.com/r/eheSoJFJ8q
或使用替换和拆分
char[] delimiterChars = { ', ', ',' };
string text = "[1, 2,333]";
string[] words = text.Replace('[','').Replace(']','').Split(comma);
System.Console.WriteLine("just the numbers {0}:", words);
答案 4 :(得分:0)
String s = "[11,12,23]";
String[] s1 = s.Substring(1, s.Length - 2).Split(',');
s1将有3个包含三个数字的数组。
答案 5 :(得分:0)
string tempstr = "[44, 74, 57]";
tempstr=tempstr.Remove(']').Remove('[');
string[] outarray =tempstr.Split(",");
答案 6 :(得分:0)
尝试删除括号 然后用逗号分隔字符串。 您将得到一组您期望的值。
String value=[44,74,57,444,555];
Value=value.replace("[","");
Value=value.replace("]","");
String[] allValues=value.split(new char[]{','});
现在数组应该包含字符串中的所有值。 这主要是伪代码。我是在平板电脑上写的。 希望它有所帮助。