gpt4 book ai didi

java - 从 getName 特定字符中替换特定字符和 setText

转载 作者:行者123 更新时间:2023-12-01 23:20:44 25 4
gpt4 key购买 nike

请帮我解决这个问题

文件名:海滩视频@instagram.mp4

我的问题1我只想获取“海滩视频”并删除“@”直到结束词

我的问题2我只想得到“@”直到结束词,并在“@”之前添加一个字符串“source”

  • 结果问题 1:海滩视频
  • 结果问题 2:来源 @instagram

note : This is not just 1 file, there are many files with different names. but the format is the same.

我尝试了这个,但只删除了最后 10 个字符

Edit_Text(file.getName().replace(".mp4","").replaceFirst(".{10}$",""));

        videoUrl = picturePath  ;
File file = new File(videoUrl);
Log.v("SIZE",file.getName()+"");
title.setText(file.getName());
Edit_Text(file.getName().replace(".mp4","").replaceFirst(".{10}$",""));

最佳答案

您可以使用简单的正则表达式来解析文件名并将所需的文本捕获到两组中并按照您想要的方式使用它们。这段 Java 代码应该有帮助。其工作方式是,正则表达式首先捕获 @ 之前的所有内容(使用 (.*)),排除之前的任何空格,然后从 开始捕获第二部分@ 后跟一个或多个除点以外的任意字符,使用 (@[^.]+)

String s = "Beach Video @instagram.mp4";
Pattern p = Pattern.compile("(.*)\\s*(@[^.]+).*");
Matcher m = p.matcher(s);
if (m.matches()) {
System.out.println("First part: " + m.group(1));
System.out.println("Second part: Source " + m.group(2));
} else {
System.out.println("Unexpected file format");
}

按照您想要的方式打印两个结果,

First part: Beach Video 
Second part: Source @instagram

您能检查一下这是否适合您?

关于java - 从 getName 特定字符中替换特定字符和 setText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58328721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com