字符串特定点的子串(从反面)

时间:2014-05-22 18:58:12

标签: c#

我想从特殊点进行子串。

  

abcdef.png

我想要

  

.PNG

我试过

    string str = "abcdef.png";
    str = str.Substring(0, str.Length - 4);

然后只显示abcdef但是我想要.png部分

6 个答案:

答案 0 :(得分:8)

只需使用overload which takes a single parameter - 起点:

str = str.Substring(str.Length - 4);

或者更好,使用方法设计来获取文件名的扩展名 - Path.GetExtension

string extension = Path.GetExtension(str);

答案 1 :(得分:2)

您似乎正在处理文件名,为此目的使用Path.GetExtension方法。

答案 2 :(得分:2)

您可以使用Path.GetExtension方法代替子字符串。

string str = "abcdef.png";
string ext = Path.GetExtension(str); // .png

答案 3 :(得分:1)

您需要传递str.Length - 4作为第一个(也是唯一的)参数,而不是第二个参数:

str = str.Substring(str.Length - 4);

你的代码拥有它的方式,你有一个从零开始的子字符串,并包含str.Length - 4个字符。

如果您只想拍摄点和扩展名,请使用

str = str.Substring(str.LastIndexOf('.'));

表达。

答案 4 :(得分:1)

如果您想要扩展名称,请使用Path.GetExtension(str)。更容易。

http://msdn.microsoft.com/en-us/library/system.io.path.getextension(v=vs.110).aspx

答案 5 :(得分:1)

尝试下面的代码,它将返回文件的扩展名。

string extension = Path.GetExtension(str);