我想将我的网址拆分为ftp.akshay.com/a/b/c
,然后我想将其拆分为ftp.akshay.com
和/a/b/c
,但有一个问题有时它将是一个非文件路径,如 Y:\A\B\C or U:\A\B\C
,那时我想将其拆分为Y:
和\A\B\C
我如何拆分字符串。我想与/分开,但这没用。我想为此使用C#。
答案 0 :(得分:0)
请试试这个
string[] result = test.Split(new string[] { "/" }, StringSplitOptions.None);
string s1 = result[0];
string s2 = "";
for (int i = 1; i < result.Length; i++)
{
s2 = s2 + result[i].ToString() + ((i == (result.Length - 1)) ? "" : "/");
}
答案 1 :(得分:0)
如果您不想使用URI
并在其后面创建逻辑,您可以使用正则表达式手动拆分网址以匹配特定模式,并根据匹配模式的索引进行拆分。
private string[] splitUrl(string url)
{
Match match = Regex.Match(url, @"\:|\.(.{2,3}(?=/))"); // Regex Pattern
if (match.Success) // check if it has a valid match
{
string split = match.Groups[0].Value; // get the matched text
int index = url.IndexOf(split);
return new string[]
{
url.Substring(0, index + split.Length),
url.Substring(index + (split.Length), url.Length - (index + split.Length))
};
}
return null;
}
这就是你调用函数的方式,
string[] urls = splitUrl(@"ftp.akshay.com/a/b/c");
这不是一个完美的解决方案,但它会给你至少你的起点。
此模式 - \:|\.(.{2,3}(?=/))
表示匹配:
或.
与2-3个字符串且/
之前。