C# 获取特定斜杠后的字符串

C# 获取特定斜杠后的字符串,c#,stringbuilder,C#,Stringbuilder,我有一个字符串,我想得到第三个斜杠之后的任何东西。 我不知道还有什么方法可以做到这一点,如果我不需要的话,我真的不想使用正则表达式 比如说你好 我以前使用过str.LastIndexOf(“/”),比如: string str3 = str.Substring(str.LastIndexOf('/') + 1); 但是,我仍在试图找出如何对不是第一个或最后一个的斜杠执行此操作。如果您正在处理URL,则使用Uri类,而不是滚动自己的类 string s = "some

我有一个字符串,我想得到第三个斜杠之后的任何东西。 我不知道还有什么方法可以做到这一点,如果我不需要的话,我真的不想使用正则表达式

比如说你好

我以前使用过str.LastIndexOf(“/”),比如:

          string str3 = str.Substring(str.LastIndexOf('/') + 1);

但是,我仍在试图找出如何对不是第一个或最后一个的斜杠执行此操作。如果您正在处理URL,则使用
Uri
类,而不是滚动自己的类

    string s = "some/string/you/want/to/split";
    string.Join("/", s.Split('/').Skip(3).ToArray());
但如果出于教育原因,您希望手动执行此操作,您可以执行以下操作:

int startPos = 0;
for(int i  = 0; i < 3; i++)
{
   startPos = s.IndexOf('/', startPos)+1;
}

var stringOfInterest = s.Substring(startPos);
intstartpos=0;
对于(int i=0;i<3;i++)
{
startPos=s.IndexOf(“/”,startPos)+1;
}
var stringinterest=s.Substring(startPos);
如果字符串的格式不是您期望的格式,那么有很多方法可能会失败,因此这只是一个示例,可以帮助您开始


尽管这是一种过早的优化,但这种方法比将整个字符串分解成组件并重新组合起来更有效。

如果您正在操作URL,那么使用
Uri
类而不是滚动自己的类

但如果出于教育原因,您希望手动执行此操作,您可以执行以下操作:

int startPos = 0;
for(int i  = 0; i < 3; i++)
{
   startPos = s.IndexOf('/', startPos)+1;
}

var stringOfInterest = s.Substring(startPos);
intstartpos=0;
对于(int i=0;i<3;i++)
{
startPos=s.IndexOf(“/”,startPos)+1;
}
var stringOfInterest=s.Substring(startPos);
如果字符串的格式不是您期望的格式,那么有很多方法可能会失败,因此这只是一个示例,可以帮助您开始


尽管这是过早的优化,但这种方法比将整个字符串分解成组件并重新组合起来更有效。

正如C.Evenhuis所建议的,您应该依赖本机
系统。Uri
类:

string url = "http://stackoverflow.com/questions/20213490/getting-string-after-a-specific-slash"
Uri asUri = new Uri(url);
string result = asUri.LocalPath;
Console.WriteLine(result);
(现场直播)

这将输出:

/问题/20213490/get-string-after-a-specific-slash

如果不希望结果中出现第一个
/
,只需使用:

string url = "http://stackoverflow.com/questions/20213490/getting-string-after-a-specific-slash"
Uri asUri = new Uri(url);
string result = asUri.LocalPath.TrimStart('/');
Console.WriteLine(result);

你应该去图书馆看看。您可以使用大量的属性,具体取决于您希望在url中实际保留的内容(url参数、哈希标记等)。

正如C.Evenhuis所建议的,您应该依赖本机
系统。Uri
类:

string url = "http://stackoverflow.com/questions/20213490/getting-string-after-a-specific-slash"
Uri asUri = new Uri(url);
string result = asUri.LocalPath;
Console.WriteLine(result);
(现场直播)

这将输出:

/问题/20213490/get-string-after-a-specific-slash

如果不希望结果中出现第一个
/
,只需使用:

string url = "http://stackoverflow.com/questions/20213490/getting-string-after-a-specific-slash"
Uri asUri = new Uri(url);
string result = asUri.LocalPath.TrimStart('/');
Console.WriteLine(result);

你应该去图书馆看看。根据您希望在url中实际保留的内容(url参数、hashtag等),您可以使用大量属性。

如果您的所有输入字符串都是url,则可以使用
Uri
类。可能存在Hi的重复。这似乎是对上一个问题的重新提问-请只提问一次。如果您的所有输入字符串都是URL,则可以使用
Uri
类。Hi可能存在重复。这似乎是对上一个问题的重新提问-请只提问一次。它的输出似乎是相同的?不。它应该满足你的需求。请试着让我知道。Thanksit似乎输出了相同的结果?没有。它应该满足你的需求。请试着让我知道。谢谢你!这就是我一直期待的卓越!这就是我一直在寻找的