![]() |
![]() |
![]() |
|
Убрать несколько пробелов в строке | ☑ | ||
---|---|---|---|---|
0
Кадош
05.06.09
✎
16:49
|
Есть строка вида
Слово1 Слово2 Слово3 Слово4 надо привестик виду: Слово1 Слово2 Слово3 Слово4 СтрЗаменить(МояСтрока, " ",Символ(32)); не срабатывает |
|||
1
ТелепатБот
гуру
05.06.09
✎
16:49
|
||||
2
Deon
05.06.09
✎
16:50
|
(0) Стало быть там не пробелы?
|
|||
3
Кадош
05.06.09
✎
16:52
|
(2) как проверить?
|
|||
4
shuhard
05.06.09
✎
16:54
|
(3) пробеги циклом по КодСимвола(<Строка>, <Номер символа>)
|
|||
5
asady
05.06.09
✎
16:54
|
(0)
СложнаяСтрока=СтрЗаменить(ТвояСтрока," ",Символы.ПСс); КолСлов=СтрЧислоСтрок(СложнаяСтрока); Результат=""; Для сч=1 по КолСлов Цикл тСлово=СокрЛП(СтрПолучитьСтроку(СложнаяСтрока,сч)); Если тСлово="" Тогда продолжить; конецЕсли; Результат=Результат+" "+тСлово; КонецЦикла; Результат=Сред(Результат,2); |
|||
6
Маркетолог
05.06.09
✎
16:57
|
(0) Там наверное что то типа Символы.НПП , а не пробел
|
|||
7
wPa
05.06.09
✎
16:57
|
(5) ПОка Найти(ТСтрока,"Двапробела") > 0 Цикл
ТСтрока = СтрЗаменить(ТСтрока,"Двапробела","Одинпробел") |
|||
8
Серый Пес
05.06.09
✎
16:57
|
Меняй два пробела на один в цикле до тех пор, пока будет находиться в строке два пробела подряд :)
|
|||
9
Серый Пес
05.06.09
✎
16:58
|
(7) Блин, опередил
|
|||
10
wPa
05.06.09
✎
16:58
|
(6) НПП - это неразрывный пробел введнный микрософтом - например в числительных где разряды разделены пробелами - а у него слова
|
|||
11
wPa
05.06.09
✎
16:58
|
(9) =)
|
|||
12
wPa
05.06.09
✎
16:59
|
(10) + чтобы часть числа не перенесли автоматом на другую строчку.
|
|||
13
Ц_У
05.06.09
✎
17:00
|
Если судить по условию, то как минимум 1 пробел между ними есть, можно сделать так, заменяем 1 пробел на символ ";" например:
СтрЗаменить(МояСтрока, " ",";"); " " - 1 пробел; Получим список значений (или он через ","?) идем циклом по этому списку значений с функц. СокрЛП, и формированием новой строки... как-то так :) |
|||
14
wPa
05.06.09
✎
17:01
|
(13) Хм. а не проще (7),(8) ?
|
|||
15
Andry888
05.06.09
✎
17:02
|
(13) а где "двапробела" превратяться в ";;"?)
|
|||
16
Кадош
05.06.09
✎
17:04
|
(14) спасибо сделал так (7)
|
|||
17
Ц_У
05.06.09
✎
17:06
|
(14) частный случай...
(15) да нужно немного подумать.. думайте :) |
|||
18
Bugmenot
05.06.09
✎
17:10
|
Как-то так:
RegExp=Новый COMОбъект("VBScript.RegExp"); RegExp.MultiLine=Истина; RegExp.Global=Истина; RegExp.IgnoreCase=Истина; RegExp.Pattern="\s{2,}"; Текст=RegExp.Replace(Текст,""); |
|||
19
Кадош
05.06.09
✎
17:21
|
а как пропустить несколько слов?
|
|||
20
hhhh
05.06.09
✎
17:37
|
(13)
Функция УбратьЛишниеПробелы(Наим) ТекСтр = СокрЛП(Наим); Поз = Найти(ТекСтр, " "); Пока Поз > 0 Цикл ТекСтр = Лев(ТекСтр, Поз - 1) + " " + СокрЛП(Сред(ТекСтр, Поз)); Поз = Найти(ТекСтр, " "); КонецЦикла; Возврат ТекСтр; КонецФункции |
|||
21
Serg_1960
05.06.09
✎
18:29
|
(вспомнил): на одном из обсуждений, автор после хх-надцатого поста сообшил что ему в числе "пробел" убрать нужно. Ему не нравилось что в отчет выводилось "1 234.56" вместо "1234.56" :)
|
|||
22
Said_We
05.06.09
✎
18:47
|
Стр1 = СокрЛП(<Исходная строка>);
Кол = ДлинаСтр(Стр1); Кол1 = 0; Если Кол = 0 Тогда Возврат; КонецЕсли; Пока Кол <> Кол1 Цикл Кол1 = Кол; Стр1 = СтрЗаменить(Стр1, " ", " ") Кол = ДлинаСтр(Стр1); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |