java中字符串中大于小于号的转义替换

项目中需要将前端传过来的特殊字符做转义处理,然后在保存到数据库中,比如说“<”,">",但是替换一直失败

先看错误的做法:(不能达到替换效果)

public class StringTest {
    public static void main(String[] arg){
        String s = "0<R<=150";
        if (s.contains("<=")) {
            s.replace("<=", "&le;");
            System.out.println("1s=" + s);
        }
    }
}

输出:1s=0<R<=150


正确的做法:(达到替换效果)

public class StringTest {
    public static void main(String[] arg){
        String s = "0<R<=150";
        if (s.contains("<=")) {
            s = s.replace("<=", "&le;");//必须要重新赋值给一个字符串
            System.out.println("1s=" + s);
        }
    }

}

输出:1s=0<R&le;150

原因见api:

replace
public String replace(char oldChar,
                      char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
如果 oldChar 在此 String 对象表示的字符序列中没有出现,则返回对此 String 对象的引用。否则,创建一个新的 String 对象,它所表示的字符序列除了所有的 oldChar 都被替换为 newChar 之外,与此 String 对象表示的字符序列相同。

示例:
"mesquite in your cellar".replace('e', 'o')
         returns "mosquito in your collar"
 "the war of baronets".replace('r', 'y')
         returns "the way of bayonets"
 "sparring with a purple porpoise".replace('p', 't')
         returns "starring with a turtle tortoise"
 "JonL".replace('q', 'x') returns "JonL" (no change)
 
参数:
oldChar - 原字符。
newChar - 新字符。
返回:
一个从此字符串派生的字符串,它将此字符串中的所有 oldChar 替代为 newChar。


附 HTML特殊字符编码大全:

          

´&acute;©&copy;>&gt;µ&micro;®&reg;
&&amp;°&deg;¡&iexcl; &nbsp;»&raquo;
¦&brvbar;÷&divide;¿&iquest;¬&not;§&sect;
&bull;½&frac12;«&laquo;&para;¨&uml;
¸&cedil;¼&frac14;<&lt;±&plusmn;×&times;
¢&cent;¾&frac34;¯&macr;"&quot;&trade;

&euro;£&pound;¥&yen;    

&bdquo;&hellip;·&middot;&rsaquo;ª&ordf;
ˆ&circ;&ldquo;&mdash;&rsquo;º&ordm;
&dagger;&lsaquo;&ndash;&sbquo;&rdquo;
&Dagger;&lsquo;&permil; &shy;˜&tilde;

&asymp;&frasl;&larr;&part;&spades;
&cap;&ge;&le;&Prime;&sum;
&clubs;&harr;&loz;&prime;&uarr;
&darr;&hearts;&minus;&prod;&zwj;
&diams;&infin;&ne;&radic;&zwnj;
&equiv;&int;&oline;&rarr;  

α&alpha;η&eta;μ&mu;π&pi;θ&theta;
β&beta;γ&gamma;ν&nu;ψ&psi;υ&upsilon;
χ&chi;ι&iota;ω&omega;ρ&rho;ξ&xi;
δ&delta;κ&kappa;ο&omicron;σ&sigma;ζ&zeta;
ε&epsilon;λ&lambda;φ&phi;τ&tau;  

Α&Alpha;Η&Eta;Μ&Mu;Π&Pi;Θ&Theta;
Β&Beta;Γ&Gamma;Ν&Nu;Ψ&Psi;Υ&Upsilon;
Χ&Chi;Ι&Iota;Ω&Omega;Ρ&Rho;Ξ&Xi;
Δ&Delta;Κ&Kappa;Ο&Omicron;Σ&Sigma;Ζ&Zeta;
Ε&Epsilon;Λ&Lambda;Φ&Phi;Τ&Tau;ς&sigmaf;

要替换好多特殊字符了!


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值