C#字符串拆分

AAH*_*oot 4 c# string

如果我有一个字符串:str1|str2|str3|srt4并用|分隔符解析它.我的输出是str1 str2 str3 str4.

但如果我有一个字符串:str1||str3|str4输出将是str1 str3 str4.我正在寻找的输出是什么样的str1 null/blank str3 str4.

我希望这是有道理的.

string createText = "srt1||str3|str4";
string[] txt = createText.Split(new[] { '|', ',' },
                   StringSplitOptions.RemoveEmptyEntries);
if (File.Exists(path))
{
    //Console.WriteLine("{0} already exists.", path);
    File.Delete(path);
    // write to file.

    using (StreamWriter sw = new StreamWriter(path, true, Encoding.Unicode))
    {
        sw.WriteLine("str1:{0}",txt[0]);
        sw.WriteLine("str2:{0}",txt[1]);
        sw.WriteLine("str3:{0}",txt[2]);
        sw.WriteLine("str4:{0}",txt[3]);
    }
}
Run Code Online (Sandbox Code Playgroud)

产量

str1:str1
str2:str3
str3:str4
str4:"blank"
Run Code Online (Sandbox Code Playgroud)

那不是我想要的.这就是我想编码的内容:

str1:str1
str2:"blank"
str3:str3
str4:str4
Run Code Online (Sandbox Code Playgroud)

Meh*_*ari 9

试试这个:

str.Split('|')
Run Code Online (Sandbox Code Playgroud)

没有StringSplitOptions.RemoveEmptyEntries通过,它会按你的意愿工作.


Lee*_*Lee 8

这应该是诀窍......

string s = "str1||str3|str4";
string[] parts = s.Split('|');
Run Code Online (Sandbox Code Playgroud)