大家一般怎么对内容中的一些无效字符做过滤呢? :报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

大家一般怎么对内容中的一些无效字符做过滤呢? :报错

kun坤 2020-06-14 15:39:43 50

我们一个应用,字符集是 UTF-8 的,但之前有导入一些内容包含了一些怪字符,这些字符本身不在 UTF-8 范畴之内的,例如:

Apache Commons工具集简介 ���

导致根据这个内容生成的 XML 文档或者是其他文本都不被编辑器所识别,一些XML解析库也会报XML格式错误的信息

大家有碰到这种问题一般是如何处理呢,现在想对这样的内容做过滤,也不知道该怎么过滤

XML 自然语言处理 Apache 数据格式
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-14 15:39:49

    Java 可以用如下方法来来过滤

    /** * Function to strip control characters from a string. * Any character below a space will be stripped from the string. * @param iString the input string to be stripped. * @return a string containing the characters from iString minus any control characters. */ public String stripControlChars(String iString) { StringBuffer result = new StringBuffer(iString); int idx = result.length(); while (idx-- > 0) { if (result.charAt(idx) < 0x20 && result.charAt(idx) != 0x9 && result.charAt(idx) != 0xA && result.charAt(idx) != 0xD) { if (log.isDebugEnabled()) { log.debug("deleted character at: "+idx); } result.deleteCharAt(idx); } } return result.toString(); }
    ######还可以试试正则表达式

    stringName.replaceAll("[^\\p{Print}]", "");
    ######乖乖,犀利######鉴客的正则耍得太犀利了。 受教了。######

    PHP的

    http://php.net/manual/zh/function.urldecode.php

    ######

    红薯又不干好事,扒人网页了吧

    ######

    我的做法就是转码unicode

    ###### 我导日文数据的时候,出现过这个问题,一般情况下是编码转换。
    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题