解析c#中的长字符串并将这些值赋给参数

解析c#中的长字符串并将这些值赋给参数,c#,string,parsing,C#,String,Parsing,我有这根C#的绳子- 学校和州处于某种关系之中。我需要以这样一种方式解析字符串,以便为我的参数获取School和State的值 string school = abc (from String after parsing) string state = CA (from string after parsing) 尝试在新行字符上拆分字符串,然后它看起来像一个字典,键值之间用| |分隔。在“| |”上再拆分一次应该会给你想要的 信封背面代码 private static void Pars

我有这根C#的绳子-

学校和州处于某种关系之中。我需要以这样一种方式解析字符串,以便为我的参数获取School和State的值

string school = abc (from String after parsing)
string state = CA (from string after parsing)

尝试在新行字符上拆分字符串,然后它看起来像一个字典,键值之间用| |分隔。在“| |”上再拆分一次应该会给你想要的

信封背面代码

  private static void ParseMyString(string longString) {
        IEnumerable<string> shortStrings = longString.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);


        foreach(var ss in shortStrings) {
            var kvp = ss.Split("||".ToCharArray());
            Console.WriteLine("{0} - {1}", kvp[0], kvp[1]);
        }
    }
private static void ParseMyString(字符串长字符串){
IEnumerable shortStrings=longString.Split(“\r\n.ToCharArray(),StringSplitOptions.removeMptyEntries”);
foreach(短字符串中的var ss){
var kvp=ss.Split(“| |”。.ToCharArray());
WriteLine(“{0}-{1}”,kvp[0],kvp[1]);
}
}

尝试在新行字符上拆分字符串,然后它看起来像一个字典,键值之间用| |分隔。在“| |”上再拆分一次应该会给你想要的

信封背面代码

  private static void ParseMyString(string longString) {
        IEnumerable<string> shortStrings = longString.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);


        foreach(var ss in shortStrings) {
            var kvp = ss.Split("||".ToCharArray());
            Console.WriteLine("{0} - {1}", kvp[0], kvp[1]);
        }
    }
private static void ParseMyString(字符串长字符串){
IEnumerable shortStrings=longString.Split(“\r\n.ToCharArray(),StringSplitOptions.removeMptyEntries”);
foreach(短字符串中的var ss){
var kvp=ss.Split(“| |”。.ToCharArray());
WriteLine(“{0}-{1}”,kvp[0],kvp[1]);
}
}
您可以使用该类来解析此文件,特别是当它是固定宽度字段或具有已知分隔符时

它:

提供用于解析结构化文本文件的方法和属性

尽管它位于Microsoft.VisualBasic.Text的
命名空间中,但它是一个.NET程序集,可以在所有.NET项目中使用。

您可以使用该类来解析此文件,特别是当它是固定宽度字段或具有已知分隔符时

它:

提供用于解析结构化文本文件的方法和属性

尽管它位于Microsoft.VisualBasic.Text的命名空间中,但它是一个.NET程序集,可以在所有.NET项目中使用。

尝试以下操作:

string longStr = "School||Abc\r\nState||CA\r\n";
string[] keyValPairs = s.Split("\r\n".ToCharArray());
Dictionary<string, string> info = new Dictionary<string, string>();

foreach(string pair in keyValPairs)
{
   string[] split = pair.Split("||");
    //split[0] is the key, split[1] is the value
   info.Add(split[0], split[1]);
}
其中,
longStr
变量只是您开始时使用的长字符串,不一定是我设置它的值。

尝试以下方法:

string longStr = "School||Abc\r\nState||CA\r\n";
string[] keyValPairs = s.Split("\r\n".ToCharArray());
Dictionary<string, string> info = new Dictionary<string, string>();

foreach(string pair in keyValPairs)
{
   string[] split = pair.Split("||");
    //split[0] is the key, split[1] is the value
   info.Add(split[0], split[1]);
}

其中,
longStr
变量只是您开始使用的长字符串,不一定是我设置它的值。

假设您的字符串只包含由
“||”、“\r”或“\n”
分隔的值

string str=“School | | Abc\r\n | | | State | | CA\r\n | | AA | AA”; str=str.Trim(); str=str.Replace(“\r”,string.Empty); str=str.Replace(“\n”,string.Empty)

string[]keyValue=str.Split(新字符串[]{“| |”},StringSplitOptions.None);
Dictionary KeyValDic=新字典();
for(int i=0;i
假设字符串只包含由“| |”、“\r”或“\n”分隔的值

string str=“School | | Abc\r\n | | | State | | CA\r\n | | AA | AA”; str=str.Trim(); str=str.Replace(“\r”,string.Empty); str=str.Replace(“\n”,string.Empty)

string[]keyValue=str.Split(新字符串[]{“| |”},StringSplitOptions.None);
Dictionary KeyValDic=新字典();
for(int i=0;i
字符串的格式是什么?如果是某种标准格式,那么解析就容易多了。看起来可能是这样的:
School | | School name | | State | | StateAbrv
是的,你是对的。除了ABC之外\r\n是值。“\r\n”在每个值之后。那么School | | ABC\r\n等…为什么字符串的格式如此奇怪?字符串是否包含“..”?字符串是否采用这种格式???“\r\nSchool | | ABC\r\nState | | EEE”字符串的格式是什么?如果是某种标准格式,那么解析就容易多了。看起来可能是这样的:
School | | School name | | State | | StateAbrv
是的,你是对的。除了ABC之外\r\n是值。“\r\n”在每个值之后。那么School | | ABC\r\n等…为什么字符串的格式如此奇怪?字符串是否包含“..”?字符串是否采用这种格式???“\r\nSchool | | ABC\r\nState | | EEE”您有语法吗。因为我对这个很陌生。你有语法吗。因为我对这个很陌生。
        string[] keyValue = str.Split(new string[] { "||" }, StringSplitOptions.None);
        Dictionary<string, string> KeyValDic = new Dictionary<string, string>();

        for (int i = 0; i < keyValue.Length; i++,i++)
        {
            KeyValDic.Add(keyValue[i], keyValue[i + 1]);
        }