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

217
Views
Regex to remove leading and trailing special characters and spaces from string

I'm trying to find a regex to remove all leading/trailing spaces as well as all leading/trailing special characters.

If I have the string:

test = '~!#@$@  hello this is a #! test  ^^#!^^    '

I'd like it to return as:

'hello this is a #! test'

So special characters and spaces in between the first and last letter are preserved, but all leading/trailing ones are cut out. Right now I have this:

test.replace(/[^a-zA-Z ]/g,"").replace(/^\s+|\s+$/g, "")

which returns:

'hello this is a  test'

so it is removing all special characters and leading/trailing spaces. How can I preserve that "#!" between "a" and "test"?

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

0

By using the unicode flag u you can use the Unicode Categories for Letters \p{L} and Numbers \p{N} in a negative character class [^...].
And match them at the start ^ or | at the end $ to get anything that's not a letter or number and is trailing or leading.

Pattern:

^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$

Test Snippet:

let test = '~!#@$@  hello this is a #! test  ^^#!^^    ';

test = test.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, '');

document.write('['+test+']');

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!