string中提取文件名(带扩展名,不带扩展名)

		string spath="\\image\\P1.jpg";
		int pos = spath.find_last_of('\\');
		string sfilename(spath.substr(pos + 1));//带扩展名

		pos = sfilename.find_last_of('.');
		string sfilenameEx(sfilename.substr(0,pos));//不带扩展名

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Dart ,可以使用 `path.withoutExtension()` 函数来去掉文件名的文件扩展名。 例如: ```dart import 'package:path/path.dart' as path; void main() { var filePath = '/path/to/file.txt'; var fileName = path.basename(filePath); var fileNameWithoutExtension = path.withoutExtension(fileName); print(fileNameWithoutExtension); // 输出: "file" } ``` 上面的代码使用了 `path.basename()` 函数来获文件名,然后使用 `path.withoutExtension()` 函数去掉了文件扩展名。 注意,`path.withoutExtension()` 函数只会去掉最后一个点(`.`)及其后面的内容,因此如果文件名包含多个点,只会去掉最后一个点及其后面的内容。 例如: ```dart import 'package:path/path.dart' as path; void main() { var fileName = 'file.with.multiple.dots.txt'; var fileNameWithoutExtension = path.withoutExtension(fileName); print(fileNameWithoutExtension); // 输出: "file.with.multiple.dots" } ``` 希望这对你有帮助! ### 回答2: 在Dart,您可以使用以下方法去掉文件名的文件扩展名: 1. 使用String的split()方法:您可以通过将文件名以"."作为分隔符来将文件名分割成两个部分,然后再获分割后的第一个部分作为去掉扩展名文件名。下面是一个示例代码: ```dart String fileName = "example.txt"; List<String> parts = fileName.split("."); String fileWithoutExtension = parts[0]; print(fileWithoutExtension); ``` 2. 使用String的substring()方法:您可以使用substring()方法从文件名提取出不包含扩展名的子字符串。为了获扩展名之前的部分,您可以将substring()方法的参数设置为0和最后一个"."的索引之间的范围。下面是一个示例代码: ```dart String fileName = "example.txt"; int dotIndex = fileName.lastIndexOf("."); String fileWithoutExtension = fileName.substring(0, dotIndex); print(fileWithoutExtension); ``` 无论您选择哪种方法,都需要确认文件名确实包含有"."",以及处理一些边界情况,例如文件名没有扩展名的情况。 ### 回答3: 在Dart,可以使用String的replaceAll方法以及正则表达式来去掉文件名的文件扩展名。下面是一个示例代码: ``` void main() { String filename = "example.txt"; String fileNameWithoutExtension = filename.replaceAll(RegExp(r'\.[^.]+$'), ''); print(fileNameWithoutExtension); // 输出:example } ``` 在上面的代码,通过使用RegExp创建一个正则表达式对象,然后将其传递给replaceAll方法。正则表达式`\.[^.]+$`匹配最后一个`.`以及其后的所有字符,即文件的扩展名部分。然后使用空字符串替换匹配的部分,从而将文件扩展名去掉。 需要注意的是,使用正则表达式的replaceAll方法在Dart的返回值是一个新的字符串,原字符串并不会改变。 以上就是在Dart去掉文件名的文件扩展名的方法。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值