用新行和制表符替换字符串中的字符我正在编写一个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";