Home > Software engineering >  Typescript Replace a string between two characters within a string
Typescript Replace a string between two characters within a string

Time:03-28

I am new to typescript, I want to strip the timestamp from a file name. Filenames can be like FileName_20210210050124592.xml or FileName_20210210050124592_2.xml I only want to remove the timestamp (I want to keep the _2 in the second filename) This is what I have tried so far which works,

let fileName: string = "FileName_20210210050124592.xml";
let newFileName: string;
if((fileName.match(/_/g)||[]).length>1){
    newFileName = fileName.replace(/_.*_/, '_');
}
else{
    newFileName = fileName.replace(/_.*\./, '.');
}
console.log(newFileName);

Is there a better way to do it or can I improve this code?

CodePudding user response:

You need to decide how you want to differentiate a timestamp from a file number.

The example below assumes that a timestamp will have at least 12 digits and that a file number will have less than that:

let fileName = "FileName_20210210050124592.xml";
let newFileName = fileName.replace(/_\d{12}\d*/, '');
console.log(newFileName);

  • Related