我们说我有一个字符串:
"C:\Program Files (x86)\Steam\steam.exe /lets go 342131 some random text"
我想从该字符串中删除' steam.exe'以及之后的一切。所以我的修剪过的字符串看起来像是:
"C:\Program Files (x86)\Steam\"
我怎样才能在C#中做到这一点?
答案 0 :(得分:9)
只需使用IndexOf
和Substring
方法:
int index = str.IndexOf("steam.exe");
string result = str.Substring(0, index);
答案 1 :(得分:8)
如果您想从字符串末尾删除某些内容,请使用String.Remove
:
int indexOfSteam = text.IndexOf("steam.exe");
if(indexOfSteam >= 0)
text = text.Remove(indexOfSteam);
与text.Substring(0, indexOfSteam)
相同。它只是让意图更清晰。
答案 2 :(得分:2)
使用System.IO.Path
:
Path.GetDirectoryName(filepath)
将返回“C:\ Program Files(x86)\ Steam”
答案 3 :(得分:-4)
...
string str_ = "123\123"
string str_splitted = str_.split(@"\")[0];
...
编辑:这是我的解释:
在我看来,字符串的split-Function是获得想要结果的最简单的解决方案。因为您可以指定一个特定的字符串来将字符串拆分到此位置。
您始终可以完全控制该过程;)