2014-03-29 44 views
-1

子字符串我有这个路径选择从去年

C:\Users\sspl\Desktop\worldtaxi_14_march_2014_new\worldtaxi_12_march_2014_new\o_logo\img1.png 

我想从去年该字符串

的选择o_logo\img1.png如何做到这一点

是可以理解的任何帮助。

+0

你使用什么编程语言? – Dunken

+0

通常将带目标字符串的分隔符分割为数组,在您的案例'\\'中,然后从数组中获取最后两个。 –

+0

或者你可以使用正则表达式'[^ \\] + \\ [^ \\] + $'。示例代码为C# - 'string subPath = Regex.Match(fullPath,@“[^ \\] + \\ [^ \\] + $”)。Value;' –

回答

0

在C#中,你可以这样做,因为

string str = @"folder2\folder2\o_logo\img1.png"; 
string sub = str.Substring(str.Substring(0,str.LastIndexOf(@"\")).LastIndexOf(@"\") + 1); 

希望它会帮助你。

0

我们可以使用Java String类的拆分方法来获得所需要的输出

public class GetFilename { 

    /** 
    * @param args 
    */ 

    private String instr = "C:\\Users\\sspl\\Desktop\\worldtaxi_14_march_2014_new\\worldtaxi_12_march_2014_new\\o_logo\\img1.png"; 
    //private String instr = "C:/Users/sspl/Desktop/worldtaxi_14_march_2014_new/worldtaxi_12_march_2014_new/o_logo/img1.png"; 

    private String getFileName(){ 
     String filename=""; 

      String[] splitarr = instr.split("\\\\"); 
      //String[] splitarr = instr.split("/"); 
      int splitarrlen = splitarr.length; 
      filename = splitarr[splitarrlen-2]+"\\"+splitarr[splitarrlen-1]; 

     return filename; 
    } 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     GetFilename gfn = new GetFilename(); 
     System.out.println(gfn.getFileName()); 

    } 

} 

必须注意在使用正则表达式来取。 String的split方法将正则表达式作为输入。特殊字符需要使用反斜杠进行转义。另外最好使用斜杠(/)作为路径分隔符。要理解使用“/”而不是“\”的简单性,请取消注释被注释的行,并且注释上一行。