java过滤乱码 \u形式乱码 unicode乱码
生活随笔
收集整理的這篇文章主要介紹了
java过滤乱码 \u形式乱码 unicode乱码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
由于編輯人員從excel,word等亂七八糟的地方copy內容過來,其中有不可見的字符,導致輸出內容看上去是對的,其實是多了一個零長度的字符(比如:\u2028,0000200B ZERO WIDTH SPACE),所以需要過濾掉不合法的unicode編碼等特殊字符
整理的正則:
[\\u007f-\\u009f]|\\u00ad|[\\u0483-\\u0489]|[\\u0559-\\u055a]|\\u058a|[\\u0591-\\u05bd]|\\u05bf|[\\u05c1-\\u05c2]|[\\u05c4-\\u05c7]|[\\u0606-\\u060a]|[\\u063b-\\u063f]|\\u0674|[\\u06e5-\\u06e6]|\\u070f|[\\u076e-\\u077f]|\\u0a51|\\u0a75|\\u0b44|[\\u0b62-\\u0b63]|[\\u0c62-\\u0c63]|[\\u0ce2-\\u0ce3]|[\\u0d62-\\u0d63]|\\u135f|[\\u200b-\\u200f]|[\\u2028-\\u202e]|\\u2044|\\u2071|[\\uf701-\\uf70e]|[\\uf710-\\uf71a]|\\ufb1e|[\\ufc5e-\\ufc62]|\\ufeff|\\ufffcjava代碼如下:
private String replaceWrongUnicode(String source, String replace) {if (StringUtils.isBlank(source)) {return source;}if (StringUtils.isBlank(replace)) {replace = "";}Pattern CRLF = Pattern.compile("([\\u007f-\\u009f]|\\u00ad|[\\u0483-\\u0489]|[\\u0559-\\u055a]|\\u058a|[\\u0591-\\u05bd]|\\u05bf|[\\u05c1-\\u05c2]|[\\u05c4-\\u05c7]|[\\u0606-\\u060a]|[\\u063b-\\u063f]|\\u0674|[\\u06e5-\\u06e6]|\\u070f|[\\u076e-\\u077f]|\\u0a51|\\u0a75|\\u0b44|[\\u0b62-\\u0b63]|[\\u0c62-\\u0c63]|[\\u0ce2-\\u0ce3]|[\\u0d62-\\u0d63]|\\u135f|[\\u200b-\\u200f]|[\\u2028-\\u202e]|\\u2044|\\u2071|[\\uf701-\\uf70e]|[\\uf710-\\uf71a]|\\ufb1e|[\\ufc5e-\\ufc62]|\\ufeff|\\ufffc)");Matcher m = CRLF.matcher(source);if (m.find()) {return m.replaceAll(replace);}return source;}附:過濾\n成<br/>
private String replaceEnter(String source) {if (StringUtils.isBlank(source)) {return source;}Pattern CRLF = Pattern.compile("(\r\n|\r|\n|\n\r)");Matcher m = CRLF.matcher(source);if (m.find()) {return m.replaceAll("<br/>");}return source;}參考:http://floydd.iteye.com/blog/1441030
轉載于:https://my.oschina.net/luanwu/blog/1798285
總結
以上是生活随笔為你收集整理的java过滤乱码 \u形式乱码 unicode乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot下Druid连接池
- 下一篇: kotlin对ZipInputStrea