Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

290
Views
.trim() for other characters?

Is there any function that can do .trim for specified characters or string?

Something like:

var x = '@@@hello world@@';
console.log(x.trim('@')); // prints 'hello world'

var y = 'hellohellohelloworld';
console.log(y.trim('hello')); // prints ' world'

var z = '@@hello@world@@';
console log(z.trim('@')); // prints 'hello@world'

Even tho I can do without this, it would be way less efficient and not as clean

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You can use a pattern with an alternation | to match either what you want to remove at the start or at the end of the string by repeating it 1 or more time in a non capture group.

The repetition looks like this (?:@)+ for a single @ char, or like this (?:hello)+ for the word hello

If you want to make a function for it and want to pass any string, you have to escape the regex meta characters with a \

var x = '@@@hello world@@';
var y = 'hellohellohelloworld';
var z = '@@hello@world@@';
var a = '*+hello*+'

const customTrim = (strSource, strToRemove) => {
  let escaped = strToRemove.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  return strSource.replace(new RegExp(`^(?:${escaped})+|(?:${escaped})+$`, 'g'), "")
};

console.log(customTrim(x, "\\s"));
console.log(customTrim(y, "hello"));
console.log(customTrim(z, "@"));
console.log(customTrim(a, "*+"));

about 4 years ago · Juan Pablo Isaza Report

0

export function trim(str: string, char: string): string {
  const leading = new RegExp(`^[${char}]+`);
  const trailing = new RegExp(`[${char}]+$`);
  return str.replace(leading, "").replace(trailing, "");
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!