26.07.2004, 13:14 | #1 |
Участник
|
Функция, которая убирает перевод каретки в строке.
У меня формируется строка.
out = " qudhqweud wedfwed "; Есть функция, которая отрубит пустые строки справа и слева? Спасибо. |
|
26.07.2004, 13:21 | #2 |
Moderator
|
strRem(out, '\n');
__________________
Андрей. |
|
26.07.2004, 13:22 | #3 |
Участник
|
попробуй strrtrim( strltrim( ... ) )
|
|
26.07.2004, 13:28 | #4 |
Участник
|
ведущие пробелы уберет str StrLTrim (str text)
ведомые пробелы уберет str StrRTrim (str text) последний символ \n убирается при присвоении ... а символы ACII(10) перевод каретки что у тебя в середине строки... я убирал перебром символов строки... функции замены я не нашел... может плохо искал... |
|
26.07.2004, 13:32 | #5 |
Участник
|
Цитата:
Изначально опубликовано Dron AKA andy
strRem(out, '\n'); потому что убив перевод строки ты ни чего не подставляешь... пользователи не оставляют пробелов преждне чем клацнуть на ентер... |
|
26.07.2004, 13:46 | #6 |
Участник
|
Если не найдешь ни чего более красивого... попробуй вот так:
str RemEx (str strStringIn) { str strStringOut=''; int iLoopString; ; for(iLoopString = 1;iLoopString <= StrLen(strStringIn);iLoopString++) { if ( Char2Num (strStringIn,iLoopString) == 10 ) strStringOut += ''; else strStringOut += substr( strStringIn,iLoopString,1); } return strStringOut; } |
|
26.07.2004, 13:53 | #7 |
Участник
|
StrLTrim и StrRTrim - они пробелы откидывают.
|
|
26.07.2004, 16:33 | #8 |
----------------
|
PHP код:
|
|
26.07.2004, 19:32 | #9 |
Участник
|
Вот, сваял за 10 минут
PHP код:
PHP код:
|
|
27.07.2004, 08:39 | #10 |
Дмитрий Ерин
|
Зачем же так сложно-то?
Было, делал нечто похожее.
Вот еще один вариант: PHP код:
__________________
|
|
27.07.2004, 09:18 | #11 |
----------------
|
Ruff, у меня была такая же идея, но потом я заметил, что strReplace - X++ функция в Global. В результате вариант показался не "простым"
|
|
27.07.2004, 10:07 | #12 |
Участник
|
Ruff
У этого способа тот недостаток, что в тексте символьной строки вполне может оказаться то количество пробелов на которое происходит замена символа перевода строки. Например, вставили меджу текстовыми строками пустую строку из 20 символов. И что получится после Вашего кода? Кроме того, сам код функции strReplace относительно сложен. Так что вопрос "зачем так сложно" автоматически переадресуется к коду strReplace. Ну, разве что, он уже написан. |
|
27.07.2004, 10:14 | #13 |
Участник
|
посмотрите хелп разработчика по функции match
попробуйте использовать эту функцию Character Description \ A backslash causes a specific character to be matched. For example, "\$" matches a dollar sign. < or ^ A 'less than' (<) sign or a circumflex (^) at the start of an expression is used to match the start of a line. > or & A 'greater than' (>) sign or an ampersand (&) at the end of the expression is used to match the end of a line. ? or . A question mark (?) or a full stop (.) will match any character (except Enter, new line). :x A colon specifies a group of characters to be matched, indicated by the character which follows immediately after. :a sets the match to letters :d sets the match to numeric characters :n sets the match to alphanumeric characters :SPACE sets the match to blanks, tabulations, and control characters such as Enter (new line). * An expression followed by an asterisk requires a match for none or several occurrences of the expression. For example, "fo*" will locate "f", "fo", "foo" etc. + An expression followed by a plus (+) sign requires a match for one or several occurrences of the expression. For example, "fo+" matches "fo" etc. - An expression followed by a minus (-) sign requires a match for no or one occurrence of the expression. For example, "fo-" matches "f" and "fo". [] A string of characters enclosed within square brackets specifies that a match is required for every character in this text, and only for these characters. For example, "[xyz]" matches "xx" and "zyx" etc. A string of characters can be specified by two characters separated by '-' (minus). For example, "[a-z]" matches all letters, whereas "[z-a]" never matches. [^] If the first character in a text within square brackets is a circumflex (^) then the expression matches all characters except Enter (new line) and the characters in the string. For example, "[^xyz]" matches "abc" but not "axb". |
|
27.07.2004, 12:48 | #14 |
Участник
|
Тут я почитал всё это...
Вспомнилось СокрЛП("стр"); Кто знает - тот поймет |
|
27.07.2004, 13:14 | #15 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано Владимир Максимов
Ruff У этого способа тот недостаток, что в тексте символьной строки вполне может оказаться то количество пробелов на которое происходит замена символа перевода строки. Например, вставили меджу текстовыми строками пустую строку из 20 символов. Давайте зададим 100, 200 пробелов для пущей надежности . Все зависит от критичности данной функции с т.з. быстродействия. Может она будет вызываться раз в день, так что в этом плохого? Цитата:
Изначально опубликовано Wamr
...но потом я заметил, что strReplace - X++ функция в Global. В результате вариант показался не "простым" Цитата:
Изначально опубликовано Владимир Максимов
Кроме того, сам код функции strReplace относительно сложен. Так что вопрос "зачем так сложно" автоматически переадресуется к коду strReplace. Ну, разве что, он уже написан. Mazzy, функция match, конечно привлекательна. Но, к сожалению, только для поиска. Чтобы сделать в тексте "умную" замену, все-равно приходится в той или иной мере прибегать к обсуждавшимся здесь "выкрутасам" . Может, я недостаточно с этим разобрался...
__________________
|
|
27.07.2004, 14:02 | #16 |
Administrator
|
Цитата:
Изначально опубликовано Ruff
функция match, конечно привлекательна. Но, к сожалению, только для поиска. PHP код:
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
27.07.2004, 14:13 | #17 |
Дмитрий Ерин
|
Красиво! Спасибо!
Век живи - век учись...
__________________
|
|
27.07.2004, 14:27 | #18 |
Участник
|
Цитата:
NJD Тут я почитал всё это...
Вспомнилось СокрЛП("стр"); Кто знает - тот поймет PHP код:
|
|
27.07.2004, 14:33 | #19 |
Участник
|
Да, действительно решение с TextBuffer в пять строк решает проблему, хотя и использует объект для своей реализации.
Кстати - а в стандартных доках есть помощь по регулярным выражениям в TextBuffer??? |
|
27.07.2004, 15:28 | #20 |
Administrator
|
Они совпадают с регулярными выражениями в функции match. См. справку по этой функции.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Банковский перевод. Простой вопрос | 0 | |||
сумма по строке закупки | 2 | |||
Скидка по строке и многострочная скидка | 0 | |||
Функция "Удалить строки" | 1 | |||
Функция RunBuf | 0 |
|