Мне нужно удалить символы возврата каретки и строки, которые присутствуют в URL-адресе Webspeed, содержащем пары имя-значение. Как это можно сделать? любые идеи, пожалуйста!Как удалить специальные символы из пар имя-значение в URL-адресе Webspeed?
0
A
ответ
2
Чтобы заменить символы, которые Вы можете использовать ЗАМЕНИТЬ функция
REPLACE function
Returns a string with specified substring replacements.
Syntax
REPLACE (source-string , from-string , to-string)
Пример:
DEFINE VARIABLE cTxt AS CHARACTER NO-UNDO FORMAT "x(20)".
DEFINE VARIABLE cNewTxt AS CHARACTER NO-UNDO FORMAT "x(20)".
cTxt = "abc123abc123abc123".
cNewTxt = REPLACE(cTxt, "a", "-").
DISPLAY cNewTxt .
Вы могли предназначаться новые линии с использованием кода управления ~ п
REPLACE(cString, "~n", "replacing character").
Или цель индивидуальный% 0d (десятичный код ascii 13) и% 0a (десятичный код ascii 10).
REPLACE(cString, CHR(13), "replacing character").
REPLACE(cString, CHR(10), "replacing character").
0
Мне недавно нужно было сделать что-то подобное и нашло следующее достаточно удобным. Это может быть немного резким - он удаляет все управляющие коды и что-то большее, чем ascii 126. Но вы можете легко настроить эти ограничения. (Мое использование заключается в заполнении текстовых полей - так что все эти материалы являются для меня незаконными.)
define variable hd as character no-undo initial "ABCDEF".
function hex2char returns character (h as character):
define variable i as integer no-undo.
if length(h) <> 2 or index(hd, substring(h, 1, 1)) < 0 or index(hd, substring(h, 2, 1)) < 0 then
return "".
i = (((index(hd, substring(h, 1, 1)) - 1) * 16) +
index(hd, substring(h, 2, 1)) - 1
).
if i < 32 or i >= 127 then
return "".
else
return chr(i).
end.
function url-decode returns character (input url as character):
define variable xurl as character no-undo.
define variable zurl as character no-undo.
define variable pct as integer no-undo.
/* fix known trouble makers
*/
assign
xurl = replace(url, "+", " ")
xurl = replace(xurl, "%0A%0D", "~n") /* <LF><CR> */
xurl = replace(xurl, "%0D%0A", "~n") /* <CR><LF> */
xurl = replace(xurl, "%0D", "~n") /* <CR> */
.
pct = index(xurl, "%").
do while pct > 0 and xurl > "":
assign
zurl = zurl + substring(xurl, 1, pct - 1) + hex2char(substring(xurl, pct + 1, 2))
xurl = substring(xurl, pct + 3)
pct = index(xurl, "%")
.
end.
return zurl + xurl.
end.
display url-decode(sampleUrl) view-as editor size 60 by 25.