【问题标题】:How to get file extension using regex? [duplicate]如何使用正则表达式获取文件扩展名? [复制]
【发布时间】:2023-03-08 17:34:02
【问题描述】:

如何使用正则表达式获取文件扩展名? 下面是我正在尝试做的代码。我尝试制作一种方法来获取文件扩展名,但似乎我创建的方法不起作用。有人可以帮忙吗?

public getExtensionFile(files: FileList): void {
for(let i = 0; i < files.length; i++) {
  const file = files[i]; // files names or list
  let fileDisplay = [];
  const fileType = /[0-9a-z]+$/.exec(file.name);

  fileDisplay['type'] = file.name.split("\\.");
  if(fileType != null ){
    fileDisplay['file'] = file;

  } 
  console.log(fileDisplay[files.length-1]);
 }
}

 this.uploadService.fetchUploadInfo(this.resourceId).subscribe(res => {
  if (res) {
    this.getExtensionFile(res);
    this.histories = res['histories'];

    const model = res['generalInfo'] && res['generalInfo']['model'];
    const selectedTagIds = _.map(res['tag']['resourceTags'], 'tagId');
    const selectedTagItems = _.filter(res['tag']['tags'], function (p) {
      return _.includes(selectedTagIds, p.key);
    });

HTML

<div class="img-box" *ngFor="let file of referenceFiles; let i = index">
          <div (click)="removeFile(i)" class="trash-icon">
            <img src="assets/icons/trash-alt-solid.svg" alt="">
          </div>
          <img [src]="file['absoluteUri'].toLowerCase()">
          <div class="text">
            <span>{{ file.fileStorageId }}</span>
          </div>

【问题讨论】:

标签: angular typescript


【解决方案1】:

文件扩展名仅包括数字和字母。所以你可以使用类似下面的东西。

function getExtensionFile(filename) {
   return (filename.match(/\.[0-9a-zA-Z]+$/i)) ? filename.match(/\.[0-9a-zA-Z]+$/i)[0] : 0;
}

您可以在 for 循环中使用此逻辑来获取文件列表的扩展名。

【讨论】:

    【解决方案2】:

    试试这个。您无需单独拆分它。

    function getFileExtension(filename) {
       return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename)[0] : undefined;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-06-08
      • 1970-01-01
      • 2013-03-18
      • 2019-02-19
      • 2022-11-19
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多