Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как регуляркой убрать кавычки вокруг букв в середине текста? (https://javascript.ru/forum/misc/84582-kak-regulyarkojj-ubrat-kavychki-vokrug-bukv-v-seredine-teksta.html)

mik888em 20.10.2022 15:52

Как регуляркой убрать кавычки вокруг букв в середине текста?
 
Как регуляркой убрать кавычки вокруг букв в середине этого текста:


'don't mess around','can't medium',


Нужно чтоб осталось вот так:
'dont mess around','cant medium'


Пробую через регулярные выражения - заменить строку и меняю на пустоту вот такой регуляркой:

\w(')\w



Но получаю что регулярка захватывает и удаляем еще и по одной букве вокруг кавычки:

'do mess around','ca medium',

mik888em 20.10.2022 16:02

так сделал и все заработало:
(?<=\w)(')(?=\w)

рони 20.10.2022 18:32

mik888em,
let str = `'don't mess around','can't medium'`;
str = str.replace(/(\w)'(\w)/g, '$1$2');
alert(str);

Aetae 20.10.2022 22:39

Придёт что-нить такое и всё у тебя сломается:
'be careful 'cause it's a bananas' peel'

Надёжнее будет такая регулярка
/(?<!',|^)'(?!,'|$)/g

И то только пока в тексте не будет опечаток и нарушений пунктуации, например если кто-то напишет так, без пробела после запятой:
'be careful it's bananas','cause...'

То тут тебе только нейросетка поможет, и то без гарантии.)

P.S. Лучше тебе не удалять апострофы, а экранировать \\' - иначе некрасиво же будет.)


Часовой пояс GMT +3, время: 06:15.