0

I have a string like this:

const test = 'a,b,c,d'

I want to have:

a, b, c and d // each comma has an extra space at right

I tried some regex like:

test.replaceAll(',', ', ').replace(/,([^,]*)$/, '$1');

But that will remove last occurence, how could I change it for another string, in this case with and ?

2 Answers 2

1

Here is a regex replacement approach:

var test = 'a,b,c,d';
var output = test.replace(/,/g, ', ').replace(/,(?!.*,)/, " and");
console.log(output);

In the second replacement, the regex ,(?!.*,) targets the last comma using a negative lookahead asserting that no further commas occur in the input.

Sign up to request clarification or add additional context in comments.

Comments

1

Here's a non regex approach

let test = 'a,b,c,d'.split(",");
let last = test.splice(-1);
test = test.join(", ") + " and " + last;
console.log(test)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.