用新行和製表符替換字符串中的字符我正在編寫一個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);
腳本編寫回复:用新行和製表符替換字符串中的字符您可以使用轉義序列對於那些特殊字符。
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", " "
);
回复:用新行和製表符替換字符串中的字符由於某些原因,當我正在開發的外接程序中時,這些替換似乎都不起作用(?)
如果我複制並粘貼代碼,則替換有效。
回复:用新行和製表符替換字符串中的字符真奇怪 沒有任何會影響此效果的加載項。 您能否提供更多有關什麼不起作用的詳細信息?
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";