I am trying to create a ABRV from string. I can achieve some result , but not the final expected one.
For example, if I have INTERNATIONAL Monetary Fund ltd
string, I need to get IMF
from it.
I have tried this one, but it only returns IMFl
. I need to restrict it to count only words with more than 3 characters.
'INTERNATIONAL Monetary Fund ltd'.match(/bwB/g).join('');
This one doesn’t work as expected
'INTERNATIONAL Monetary Fund ltd'.match(/bw{4,}B/g).join('');
Advertisement
Answer
To only capture the first letters of words of 4 or more characters, you can use a lookahead for 3 or more word characters after matching the first character:
const abrv = 'INTERNATIONAL Monetary Fund ltd'.match(/bw(?=w{3,})/g).join(''); console.log(abrv);