删除字符串中的ASCII字符

时间:2014-04-22 15:04:47

标签: java ascii

我正在尝试从String中删除ASCII char(11)。我可以看到char(11)代表''。但是,当将其添加为字符串“''”时,结果是“''”。

如何检查实际是ASCII字符?'

代码是:

public static void main(String[] args) {
    StringBuilder stringBuilder = new StringBuilder("' 'The name is stack");
    int value = 11;
    char data = (char) value; // in debug mode this is ' '
}

如果在索引0处存在,我想删除此ASCII字符。问题是字符串是“''”而不是“''”。怎么能实现这个目标?

我希望输出为名称是堆栈。

2 个答案:

答案 0 :(得分:2)

你可以做到

if (stringBuilder.charAt(0) == data) {
    stringBuilder.deleteCharAt(0);
}

答案 1 :(得分:0)

我认为第一个“可打印”字符是空格符号,位于索引32处。所以将任何东西都降到32以下,你应该没问题。应该是微不足道的,以涵盖整个字符串。

您可以将字符指定为int值,它们对应如here所示。

        char[] chars = new char[4];
        chars[0] = 31; // character for unit separator
        chars[1] = 65; // A
        chars[2] = 66; // B
        chars[3] = 67; // C

        // build a string from the printable and unprintable chars
        String s = new String(chars);

        // check length and how it prints out
        System.out.println("[" + s +"]");
        System.out.println(s.length());

        // if char at index 0 < 32, drop it
        if(s.charAt(0) < 32)
          s = s.substring(1, s.length());

        // prints like previously, but length is now smaller
        System.out.println("[" + s +"]");
        System.out.println(s.length());