C# 删除一个单词和后面的所有内容
假设我有一个字符串:C# 删除一个单词和后面的所有内容,c#,string,C#,String,假设我有一个字符串: "C:\Program Files (x86)\Steam\steam.exe /lets go 342131 some random text" 我想从这个字符串中删除'steam.exe'以及其后的所有内容。所以我修剪过的字符串看起来像: "C:\Program Files (x86)\Steam\" 我如何在C#中做到这一点?只需使用IndexOf和Substring方法: int index = str.IndexOf("steam.exe"); strin
"C:\Program Files (x86)\Steam\steam.exe /lets go 342131 some random text"
我想从这个字符串中删除'steam.exe'以及其后的所有内容。所以我修剪过的字符串看起来像:
"C:\Program Files (x86)\Steam\"
我如何在C#中做到这一点?只需使用
IndexOf
和Substring
方法:
int index = str.IndexOf("steam.exe");
string result = str.Substring(0, index);
编辑:以下是我的解释:
在我看来,字符串的拆分函数是获得所需结果的最简单的解决方案。因为您可以指定一个特定的字符在这个位置拆分字符串
您始终保持对流程的完全控制;) 如果要从字符串末尾删除某些内容,请使用:
它与
text.Substring(0,indexOfSteam)
相同。它只是让意图更加清晰。使用System.IO.Path
:
Path.GetDirectoryName(filepath)
它将返回“C:\Program Files(x86)\Steam”这是消极选民心态的悲哀反映,Ehsan Sajjad给出的几乎相同的答案(在你发布此答案后)有3张赞成票,而你的有4张反对票。我认为这对OP和后续访问更有帮助,当你添加一些解释时。
int indexOfSteam = text.IndexOf("steam.exe");
if(indexOfSteam >= 0)
text = text.Remove(indexOfSteam);
Path.GetDirectoryName(filepath)