Я хочу удалить пробел перед каждой пунктуацией в Javascript/jquery. НапримерУдалить место перед пунктуацией javascript/jquery
Input string = " This 's a test string ."
Output = "This's a test string."
Я хочу удалить пробел перед каждой пунктуацией в Javascript/jquery. НапримерУдалить место перед пунктуацией javascript/jquery
Input string = " This 's a test string ."
Output = "This's a test string."
"This string has some -- perhaps too much -- punctuation that 's not properly "
+ "spaced ; what can I do to remove the excess spaces before it ?"
.replace(/\s+(\W)/g, "$1");
//=> "This string has some-- perhaps too much-- punctuation that's not properly "
// + "spaced; what can I do to remove the excess spaces before it?"
'\ s + (\ W)' также удаляет фиды строк. Используйте '/ + (\ W)/g' для удаления только пробелов. –
Попробуйте разделить как
var my_arr = [];
my_arr = my_str.split("'");
var output = $.trim(my_arr[0]) + "'" + $.trim(my_arr[1]);
alert(output);
Смотреть это FIDDLE Но прежде всего, попробовать что-то.
Если вы хотите использовать регулярные выражения, то совпадают на
/\s\./
и заменить его только с точки.
попробуйте замену.
var test = "This's a test string";
test = test.replace(" 's", "'s");
OutPut = test;
Но @suchithra он попросил удалить пространство между ними. Не совсем удалить '' s' – Gautam3164
Используйте функцию String.replace
с регулярным выражением, которое будет соответствовать любому количеству пробелов, прежде чем все символы пунктуации вы хотите, чтобы соответствовать:
var regex = /\s+([.,!":])/g;
var output = "This 's a test string .".replace(regex, '$1');
Наверное, проще было бы 'str.replace (/ \ s + (\ W)/g," $ 1 ");'. Не пытайтесь белым списком символов, на которые вы хотите настроить таргетинг, просто используйте что-либо, кроме символов слова. –
@ScottSauyet Легче, но, возможно, не совсем то, что они хотят. Например, я не вижу причин для удаления пространства перед открывающей скобкой. –
Ну, в вашем списке отсутствуют дефисы, круглые скобки, вопросительные знаки, точки с запятой и другие знаки пунктуации. Для меня довольно просто, что пунктуация - это все символы без пробелов, а не слова. Но OP, похоже, не очень интересуется ... –
var str= "This 's a test string ."
var regex = /\s\'/i;
var output =str.replace(regex, "'");
Если вы хотите удалите определенную пунктуацию из строки, вероятно, лучше всего точно удалить именно то, что вы хотите, как
replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g,"")
Выполнение вышеуказанного файла не возвращает строку, как вы ее указали. Если вы хотите, чтобы удалить лишние пробелы, которые были оставшиеся от удаления с ума знаков препинания, то вы будете хотеть сделать что-то вроде
replace(/\s{2,}/g," ");
Мой полный пример:
var s = "This., -/ is #! an $ %^& * example ;: {} of a = -_ string with `~)() punctuation";
var punctuationless = s.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g,"");
var finalString = punctuationless.replace(/\s{2,}/g," ");
Я хочу котенка. У вас возникли вопросы? Вы что-то пробовали? Это сработало? –
http://stackoverflow.com/questions/4328500/how-can-i-strip-all-punctuation-from-a-string-in-javascript-using-regex –
что означают знаки пунктуации? В вашем примере показано «Удалить пробелы с начала и конца строки». Используйте функцию .trim() для этого – Nandakumar