用新行和製表符替換字符串中的字符我正在編寫一個 OLEDB 查詢,該查詢需要 SQL 命令位於字符串中,不包含行尾或製表符,僅包含空格。
以下內容有效,但我無法找到如何在不必創建“空”字符串的情況下執行此操作。
用戶可以使用 Windows 計算機中安裝的 JMP 修改 SQL 查詢。
SQL_query = "SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
// Cleansing strings (inputs need to be in one line)
newline = "
";
tab = " ";
space = " ";
SQL_query = substitute(SQL_query, tab, space);
SQL_query = substitute(SQL_query, newline, space);
數據存取回复:用新行和製表符替換字符串中的字符這很奇怪。 加載項沒有什麼特別之處會影響這一點。 您能否提供更多關於到底什麼不起作用的詳細信息?
Hex() 函數可以幫助您準確查看輸入字符串中的(不可見)字符。
tab = "\!t";
Show( Hex( tab ) );
return = "\!r";
Show( Hex( return ) );
SQL_query =
"\[SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91']\";
Show( Hex( SQL_query ) );
結果:
Hex(tab) = "09";
Hex(return) = "0D";
Hex(SQL_query) = "53454C45435420612C20622C20630D0946524F4D206D797461626C650D0957484552452061203D2027616C696365270D0909414E442062204245545745454E202738362720414E442027393127";
回复:用新行和製表符替換字符串中的字符由於某種原因,當我正在開發的加載項內部時,這些替換似乎都不起作用(?)
如果我複制並粘貼代碼,則替換有效。
回复:用新行和製表符替換字符串中的字符您可以使用轉義序列對於那些特殊字符。
SQL_query =
"SELECT a, b, c
FROM mytable
WHERE a = 'alice'
AND b BETWEEN '86' AND '91'";
SQL_query = Substitute( SQL_query,
"\!t", " ",
"\!r", " "
);
您可能還會發現代入()功能很有用。 它將就地進行替換並避免分配回原始字符串。
Substitute Into( SQL_query,
"\!t", " ",
"\!r", " "
);