Есть какая то строка. Как в ней убрать пробел ?
Пытаюсь как то вот так :
Есть готовая функция по замене StringReplace:
//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ void OnStart() { string str="строка, в которой"; // строка, в которой будет осуществляться замена string find=" "; // искомая подстрока string replacemen=""; // подстрока, которая будет вставлена в найденные места StringReplace(str,find,replacemen); Print(str); } //+------------------------------------------------------------------+
и результат:
Test_ru (AUDCAD.m,M30) строка,вкоторой
- www.mql5.com
Если по правильному, то данная задача решается не просто одним StringReplace, а аж тремя StringReplace.
Скорее всего поймет тот, кто решал подобную задачу на SQL.
Пользователь может же ввести строку не обязательно с двумя пробелами, их может бы 2, 3, 4, а то и 5 подряд между словами.
Писать цикл проверяя осталось ли 2 пробела подряд после применения StringReplace можно, но вариант не применим к запросам на SQL, так как производительность падает в тысячи раз при применении курсора.
Тут же на помощь приходит несложная логика:
Пускай имеем строку "строка,_в__которой___пробел____красив" (пробелы заменены символом _ для лучшей наглядности)
1) Найдем и заменим каждый пробел _ на _# (где # спецсимвол, который не может присутствовать в исходной строке):
"строка,_#в_#_#которой_#_#_#пробел_#_#_#_#красив"
2) Найдем и заменим все вхождения #_ на пустую строку:
"строка,_#в_#которой_#пробел_#красив"
3) Найдем и заменим все вхождения # на пустую строку:
"строка,_в_которой_пробел_красив"4) Не забудем добавить trim (что бы отсечь пробелы спереди и сзади)
Есть какая то строка. Как в ней убрать пробел ?
Пытаюсь как то вот так :
Ваш код - рабочий; раз pr == -1, значит пробела действительно нет. Но через StringReplace() это делать гораздо удобнее.
Если по правильному, то данная задача решается не просто одним StringReplace, а аж тремя StringReplace.
Скорее всего поймет тот, кто решал подобную задачу на SQL.
Пользователь может же ввести строку не обязательно с двумя пробелами, их может бы 2, 3, 4, а то и 5 подряд между словами.
Писать цикл проверяя осталось ли 2 пробела подряд после применения StringReplace...
Функция StringReplace(someString, " ", "") удалит из строки someString ВСЕ пробелы.
Если по правильному, то данная задача решается не просто одним StringReplace, а аж тремя StringReplace.
...
Достаточно одного:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть какая то строка. Как в ней убрать пробел ?
Пытаюсь как то вот так :