我試圖將一個字符串拆分成只有兩個部分,其中分隔符可以出現多次。如何將字符串拆分爲N部分?
下面的代碼,我不能指定限制選項不起作用:
Dim output = input.Split("=", 1)
任何想法?
我試圖將一個字符串拆分成只有兩個部分,其中分隔符可以出現多次。如何將字符串拆分爲N部分?
下面的代碼,我不能指定限制選項不起作用:
Dim output = input.Split("=", 1)
任何想法?
您可以使用String.Split(Char[], Int32, StringSplitOptions)過載。
請注意,第一個參數是一個Char
數組,而不是單個字符。第二個參數使您可以指定要返回的最大子字符串數量。
VB.NET
Option Strict On
重要提示:您應該始終有strict compiler option設置爲在。
Dim input As String = "aaaa=bbbb=cccc=dddd"
Dim separators As Char() = { "="c }
Dim count As Integer = 2
Dim options As StringSplitOptions = StringSplitOptions.RemoveEmptyEntries
Dim output As String() = input.Split(separators, count, options)
For Each part As String In output
Console.WriteLine(part)
Next
C#
string input = "aaaa=bbbb=cccc=dddd";
char[] separators = new[] { '=' };
int count = 2;
StringSplitOptions options = StringSplitOptions.RemoveEmptyEntries;
string[] output = input.Split(separators, count, options);
foreach (string part in output)
{
Console.WriteLine(part);
}
這將返回包含兩個元素的數組:
AAAA
BBBB = CCCC = DDDD
工作!非常感謝:) –
還有另一個問題:如果輸入=「參數=值」,everthing是好的。但它的輸入=「參數=」,我得到一個IndexOutOfRangeException。 –
當然,你需要檢查字符串是否包含'='。用'If(input.Contains(「=」),2,1)'替換'2'。 –
是它不接受限制參數。 https://msdn.microsoft.com/en-us/library/6x627e5f%28v=vs.90%29.aspx –
但我想調用「string.split(」=「)」而不是「Split(String, 「=」,1) –
看看https://msdn.microsoft.com/en-us/library/bb384936.aspx然後 –