如何在android中只获得没有.mp3和.mp4扩展名的文件名?

时间:2017-08-19 07:43:03

标签: java android

我有这样的音频和视频名称:

- azan1(1).mp3 
- Funny.mp4

所以我需要一个唯一的AudioName作为azan,VideoName作为Funny。我是android的新手,不知道我怎么才能得到文件名?我怎样才能在代码中实现这一点。??

4 个答案:

答案 0 :(得分:2)

尝试这种方式获取不带扩展名的文件名: -

if (fileName.indexOf(".") > 0)
   fileName = fileName.substring(0, fileName.lastIndexOf("."));

答案 1 :(得分:2)

如44kksharma所述,您可以在.拆分字符串以获得扩展名。我能看到的唯一问题是文件名是否在其他地方包含.(对于一个实例filename.test.mp3) - 该文件是一个mp3,但有人可能认为filename.test是文件的一部分名称。如果您这样想,这是使用拆分的正确方法:

String  resultName = filename.split("\\.mp")[0];

如果您有其他扩展程序,则可以执行此操作:

String  resultName = filename.split("\\.mp|\\.wav|\\.otherformat")[0];
其中包含mp3

mp4mp因此,保证扩展名为.mp的文件。

在正则表达式中使用|or

或者,您可以使用replaceAll方法:

String result = filename.replaceAll("\\.mp3|\\.mp4", "");

replace也有效,但由于它没有使用正则表达式,我发现它最终会替换错误的字符或最终搞砸了替换品。

最后,您也可以使用子字符串,但使用split()replace()replaceAll()

的正则表达式(/ non-regex using replace)可以使用单行字符串

答案 2 :(得分:1)

在Java中,获取文件名的简单而有效的方法

String resultName= filename.split("\\.")[0].split("\\(")[0];

答案 3 :(得分:0)

if(audioname.contions(.mp3)
{
 String audiostr= audioname.replace(".mp3", "");
}
  if(videoname.contions(.mp4)
{
 String videostr= videoname.replace(".mp3", "");
}

在所需的textview中设置字符串