I have a string
Date Id Number Owner GenderMaleFemale Employment TypeExperiencedFresher Issue TypeAutomation Code (script typos, File issues) Code (data model errors, utility errors)Platform Issues(db start up, network)Selectnull
I want to replace GenderMaleFemale
with Gender
, Employment TypeExperiencedFresher
with Employment Type
and replace Issue TypeAutomation Code (script typos, File issues) Code (data model errors, utility errors)Platform Issues(db start up, network)Selectnull
with Issue Type
in the string itself.
The values of Issue Type are never constant. I want this change to happen dynamically. How can I achieve this?
EDIT: I tried doing
var string = "Date Id Number Owner GenderMaleFemale Employment TypeExperiencedFresher Issue TypeAutomation Code (script typos, File issues) Code (data model errors, utility errors)Platform Issues(db start up, network)Selectnull " string = string.replace("GenderMaleFemale", "Gender") console.log(string) // It replaces the GenderMaleFemale string as Gender. // But I don't know the value after Gender usually. Right now the options added are Male, Female if a new option gets added then I need to change the code. So I want replacement to be dynamic. // I want to achieve something like string = string.replace(/Gender/g, "Gender") // The output should be GenderMaleFemale word replaced as Gender.
Advertisement
Answer
Using regex is the right idea. By defining a regex which looks for the characters Gender
, followed by all non-whitespace characters you can identify any form of GenderX
until a whitespace is met.
string = string.replace(/(s)Gender[^s]+/, '$1Gender');
I also included a whitespace character in front of Gender
that is preserved in the replacement ($1
).