在我的下面的脚本中,str_replace(rtrim(c_manager),'''','_')
似乎无法正常工作。
我想用我的参数替换单引号和下划线。例如:
Input: `S'achin`
Result: `S_achin`
$sql = 'select rtrim(f_admin_disabled),'."\n".
' convert(varchar,t_password,101),'."\n".
' rtrim(c_email),'."\n".
' str_replace(rtrim(c_manager),'''','_'),'."\n".
' rtrim(c_mgr_email)'."\n".
' from tuserprofile'."\n".
' where ic_user1 = '."'$user_id'"."\n";
答案 0 :(得分:3)
如果您想在单引号字符串中使用单引号来生成str_replace(rtrim(c_manager),'''','_'),
,则需要转义它们:
' str_replace(rtrim(c_manager),\'\'\'\',\'_\'),'
或使用不同的分隔符:
q! str_replace(rtrim(c_manager),'''','_'),!
答案 1 :(得分:2)
替换字符串
中的字符$string=~s/'/_/g;
语法
$string=~s/<string>/<replace_string>/g;
答案 2 :(得分:0)
使用此子程序。
sub str_replace {
my ($s) = @_;
$s =~ s/'/_/g;
return $s;
}