Тема: AHK: Удаление пробелов в тексте
Еще раз приветствую. Например, в переменной Test текст: "В лесу трава". Нужно чтобы на выводе выводило: "Влесутрава"
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Еще раз приветствую. Например, в переменной Test текст: "В лесу трава". Нужно чтобы на выводе выводило: "Влесутрава"
Test := "В лесу трава"
StringReplace Test, Test,` ,,All
MsgBox % TestВ списке escape-последовательностей не видел такого сочетания.
Потому что таког сочетания нет, поэтому код у Flasher в принципе не верен, хоть и работает.
msgbox %A_Space%
msgbox ` код у Flasher в принципе не верен, хоть и работает
Верный код - тот, что работает, а не тот, что написан с чьей-то точки зрения верно.
Приведу 2 аргумента.
1) В справке нигде не указано, что пробел так должен экранироваться.
2) Это частный случай работоспособности кода.
Так уже работать не будет:
Test := "В лесу трава"
StringReplace Test, Test, `
MsgBox % TestТо есть своим примером вы заведомо даете неверную информацию о том как экранируются пробелы в автохотки, что в дальнейшем может привести человека к новым вопросам.
1-й аргумент меня не убеждает. "Тыщу" раз сталкивался. 2-й - в мою пользу.
Так не будет, ибо этот код без запятой уже неверен. Второй пример:
Test := "В лесу трава"
StringReplace Test, Test,В` лесу` ,
MsgBox % TestВот из-за этих условий, что так будет работать, а так не будет.
Что в конце обязательно должна быть запятая, хотя в справке опять же нигде такого не указано, я и назвал ваш код в принципе не верным. Даже вредным.
На мой взгляд, если бы вопрос был - придумайте всевозможные способы удаления пробела, тогда он бы имел бы место быть.
Назвали и ладно. Я не в обиде. Каждый может ошибаться.
Вредный - это нормально. Я, видимо, такой люблю (у меня такого много). Мне важнее сократить. А вопросы тут никого не пугают. Код в две строчки - не повод растягивать демагогию. Спросил - ответили.
"На мой взгляд" - у меня несколько иные взгляды. Я чуть дальше от ортодокса. ![]()
А как быть в таком случае?
Test := "В лесу трава"
IfInString, test, ` ,
msgbox Flasher space found
IfInString, test, %A_Space%
msgbox Malcev space foundХотя вот так можно:
Test := "В лесу трава"
IfInString, test, ` `
msgbox Flasher space found
IfInString, test, %A_Space%
msgbox Malcev space foundНедокументированные возможности - сегодня они есть, завтра их уберут.
newtext := "Это пример нашего текста"
RegExReplace(newtext , "[\s]+")На выходе получается:
ЭтопримернашеготекстаRegExReplace(newtext , "[\s]+")Тут [] без надобности.
И \s уберет также все переносы строк и tab.
Правильней так:
RegExReplace(newtext , " +")Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться