String中存在多少个非可视符号

时间:2014-11-05 10:50:06

标签: java string character apache-poi

我正在使用POI API解析excel文档。 由于某些单元格最后包含换行符(\ n或\ r),我必须在处理之前删除这些字符(我正在处理该excel文档上的URL并使用其他API在我的程序中调用该URL。)

现在我想知道excel解析字符串返回的字符串中有多少非可视符号,它们是什么?
如何编写java代码来完成这项任务?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您将制表空间,换页符,换行符,空格作为非可视字符,那么它们在大多数语言中称为非图形符号,并以ASCII表示,从0到32(十进制形式)

以下链接将告诉您ASCII代码正在执行的操作及其相应的代码 http://msdn.microsoft.com/en-us/library/60ecse8t(v=vs.80).aspx

    String str="default string";
    Integer ctr[] = new Integer[32];
    for(int i=0;i<32;i++){
        ctr[i] = new Integer(0);
    }
    for(int i=0;i<str.length() ;i++){

        switch(str.charAt(i)){

        case 0 :
                ctr[0]++;
                break;
        case 1: ctr[1]++;
            break;

        case 2:
                ctr[2]++;
                break;

            //remaining counter 
        case 32:
                ctr[32]++;
                break;
        }
    }

您可以使用ctr []来检查计数器值