是否可以在不剪切字符串分隔符的情况下使用String.Split?
例如我有字符串
convertSource = "http://www.domain.com http://www.domain1.com";
我想构建数组并使用下面的代码
convertSource.Split(new[] { " http" }, StringSplitOptions.RemoveEmptyEntries)
我得到这样的数组
[1] http://www.domain.com
[2] ://www.domain1.com
我想保留http,看起来String.Split不仅可以分隔字符串而且还可以切断分隔符。
答案 0 :(得分:4)
这是正则表达式的尖叫:
Regex regEx = new Regex(@"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)");
Match match= regEx.Match("http://www.domain.com http://www.domain1.com");
IList<string> values = new List<string>();
while (match.Success)
{
values.Add(match.Value);
match = match.NextMatch();
}
答案 1 :(得分:2)
string[] array = Regex.Split(convertSource, @"(?=http://)");
答案 2 :(得分:1)
那是因为您使用" http"
作为分隔符。
试试这个:
string separator = " ";
convertSource.Split(separator.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
Split方法的工作方式是,当它提供它时,它会将它切断,并从字符串中删除分隔符。
根据你的意思,你要做other ways来分割保留分隔符的字符串,然后如果你只想从字符串中删除前导或尾随空格,那么我会建议你使用{{ 1}}方法:.Trim()