1. 题目
Please create a function to extract the filename extension from the given path,return the extracted filename extension or null if none.
输入
输入数据为一个文件路径
输出
对于每个测试实例,要求输出对应的filename extension
样例输入
Abc/file.txt
样例输出
txt
2. 分析
不用考虑算法,就是考查对语言的熟练掌握度。唯一需要注意,在遍历扩展名的时候,’.’符号应该从末端开始向前遍历,防止文件名有’.’。
3. C++程序
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
getline(cin,str);
int nPoint=-1;
for(int i=str.length()-1;i>0;i--)//从后往前遍历'.'
{
if(str[i] == '.')
{
nPoint = i;
break;
}
}
if( nPoint!=-1) //正常输出
{
string strExt = str.substr(nPoint+1,str.length()-1);
cout<<strExt<<endl;
}
else //输出null
cout<<endl;
return 0;
}
4. Java程序
package FileName_Extension;
import java.util.Scanner;
public class FilenameExtension {
public static void main(String[] args) {
String str;
Scanner scan = new Scanner(System.in);
str = scan.nextLine();
int i = str.lastIndexOf('.');
if(i != -1)
{
String strExt = str.substring(i+1);
System.out.println(strExt);
}
else
System.out.println("");
scan.close();
}
}
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!