2017-01-18 4 views
1

В тексте, который я получаю, я хочу заменить все котировки диалога двойными кавычками, сохраняя одинарные кавычки, используемые в сокращениях, например, «нет». Я хочу использовать String.replace() с регулярным выражением, чтобы сделать это ..Regex изменить стиль цитаты

E: г:

var text = "'I'm the cook,' he said, 'it's my job.'"; 
console.log(text.replace(/*regEx*/, "\"")); 
//should return → "I'm the cook," he said, "it's my job." 

Теперь я знаю, что регулярное выражение, которое работает для меня, по крайней мере, на примере текста.

console.log(text.replace(/\B'/g, "\"")); 

Однако, мне интересно, есть ли какое-либо другое регулярное выражение, которое я могу использовать для этого. Просто любопытно.

+1

Я уверен, что это лучший способ сделать это ... – MacPrawn

+0

@MacPrawn Спасибо. – Piyush

+1

Я не думаю, что это можно сделать надежно. Человеческий язык слишком сложный. '' 'В конце слова после' s' может быть или не быть кавычкой. –

ответ

1

Я заметил, что регулярное выражение, которое вы предоставили, не заменяет одиночные кавычки в начале строки. Я пришел с этим вместо:

var str = "'Hello', - she said\n'Hi!' - he whispered\n"; 
console.log(str.replace(/\B'|'\B/g, "\"")); 
Смежные вопросы