我有以下字符串[5111110233857£254736283045£1000£25£212541£20120605152412 ££KEN NAI],[5111110233858££254736283045 2500££25£257812 2012 0605152613££KEN NAI。逗号分隔的字符串是从Web服务派生的,数字取决于返回的记录。 现在,字段用井号(£)分隔。我想提取每个字段并保存到数据库。 我已经尝试过string.split()但我不知道如何在未知数量的字符串上使用它。
答案 0 :(得分:1)
您可以在此处执行的操作为Split
逗号,删除每条记录中的[
和]
,然后按英镑符号Split
,例如:
string test = "[5111110233857£254736283045£1000£25£212541£20120605152412 £KEN£NAI],[5111110233858£254736283045£2500£25£257812£20120605152613£KEN£NAI]";
string[] commaSeperatedStrings = test.Split(',').Select(s => s.Substring(1, s.Length - 2)).ToArray();
foreach (string commaSeperatedString in commaSeperatedStrings)
{
string[] numbers = commaSeperatedString.Split('£');
foreach (string number in numbers)
{
// You can int.Parse each number and work with them now
}
}
答案 1 :(得分:0)
一个小程序将删除括号,在逗号上拆分,然后在井号上拆分,使用foreach
循环而不是使用lambda语句(对某些人更容易理解)。
class Program
{
static void Main(string[] args)
{
string s = "[5111110233857£254736283045£1000£25£212541£20120605152412 £KEN£NAI],[5111110233858£254736283045£2500£25£257812£2012 0605152613£KEN£NAI]";
s = s.Replace("[", "").Replace("]", "");
var split_s = s.Split(',');
List<string> ans = new List<string>();
foreach(var x in split_s)
{
var t = x.Split('£');
foreach(var y in t)
{
ans.Add(y);
}
}
foreach(var x in ans)
{
Console.WriteLine(x);
}
Console.WriteLine("Press any key");
Console.ReadKey();
}
}
使用`List',这是一个动态数组,无论原始字符串中的值是多少,您都可以随时添加元素。