我试图将一个字符串拆分成只有两个部分,其中分隔符可以出现多次。如何将字符串拆分为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然后 –