私は、次を使用しています:「」文字列の配列に参加するにはどうすればよいですか?最初に空の配列要素を削除しますか?
return string.Join("\n", parts);
部品7件のエントリーがありますが、それらの2には、空の文字列です。最初にこれらの2つのエントリを削除し、残りの5つのエントリに参加できますか?
私は、次を使用しています:「」文字列の配列に参加するにはどうすればよいですか?最初に空の配列要素を削除しますか?
return string.Join("\n", parts);
部品7件のエントリーがありますが、それらの2には、空の文字列です。最初にこれらの2つのエントリを削除し、残りの5つのエントリに参加できますか?
あなたは空でない文字列を選択するために、LINQでWhere
を使用することができます。
return string.Join("\n", parts.Where(s => !string.IsNullOrEmpty(s)));
は、これを行うための別の方法LINQ
string[] hello = new string[] { "ads", "zxc", "wer", "", "wer", "", "243" };
string newString = string.Join("\n", hello.Where(x => x.Trim().Length != 0));
MessageBox.Show(newString);
または
return string.Join("\n", hello.Where(x => x.Trim().Length != 0));
を使用して、それを試してみてくださいStringSplitOptions.RemoveEmptyEntriesを使用して:
string yourString = "The|quick||brown|||fox|is|here";
char[] delimiter = new char[] { '|' };
string result = string.Join(",", yourString.Split(delimiter, StringSplitOptions.RemoveEmptyEntries));
これが与える:
string yourString = "echo 'foo' | sed '/foo/d;'";
これが与える:
ザ・クイック、茶色、キツネ、ここでは、
@Stefanタイガーです
エコー 'foo'、sed '/ foo/d;'
これは私が期待している通りです。 See the dotnetfiddle of it。
.NET 2.0(LINQなし)で実行するには、次のようにします。そのための機能を記述することなくReportingServices用:
C#
string a = "", b = "b", c = "", d = "d", e = "";
string lala = string.Join("/",
string.Join("\u0008", new string[] { a, b, c, d, e }).Split(new char[] { '\u0008' }, System.StringSplitOptions.RemoveEmptyEntries)
);
System.Console.WriteLine(lala);
VB.NET
Dim a As String = "", b As String = "b", c As String = "", d As String = "d", e As String = ""
Dim lala As String = String.Join("/", String.Join(vbBack, New String() {a, b, c, d, e}).Split(New Char() {ControlChars.Back}, System.StringSplitOptions.RemoveEmptyEntries))
System.Console.WriteLine(lala)
これは、文字のバックスペースがあなたの文字列では発生しないことを前提として(通常は、真でなければなりません単にキーボードでこの文字を入力することはできないからです)。
'' Values'は '' foo | bar || baz ||| baf "'のような 'string'ですか? – Michael
そして、私は "echo 'foo' | sed '/ foo/d;'のような値を入力して、ひどく壊れます。 –