java - 如何从 StringBuffer 中删除字符?

标签 java regex string replace

我正在尝试制作一个加密程序,其中一部分包括在加密文本的开头显示密码,然后显示字母表,并将密码中包含的字母从字母表中删除。我正在尝试从字母表 StringBuffer 中删除密码中的字符,但似乎没有简单的方法可以做到这一点。没有任何方法可以自动搜索所有出现的字符的方法,但可以搜索 String 对象。但是,我必须用另一个字符替换一个字符,并且我想什么都不替换一个字符(本质上是删除它)。这是我的代码:任何帮助将不胜感激。

StringBuffer alphabet = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
        for(int i = 0; i < pass.length(); i++)
        {
           char replacedletter = pass.charAt(i);
           alphabet.replace(replacedletter,"");
        }
        System.out.println(pass + alphabet);

最佳答案

这可能适合你:

StringBuffer s=...
for(char c: passcode.toCharArray()){
   int index=-1;
   while((index=s.indexOf(c))!=-1){
     s.deleteCharAt(index);
   }
}

关于java - 如何从 StringBuffer 中删除字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867189/

相关文章:

字符串的正则表达式(可选地除以一个空格)

php - 我如何使用 PHP 从字符串中提取一段可变长度的文本?

java - apache 常见 StringUtils.replacePattern 与 java.lang.String.replaceAll

c++ - 使用迭代器向后迭代

java - Jaxb2Marshaller 和属性

java - 无法将 <Object, Map<Object, Object>> Map 转换为更具体类型的 Map

javascript - 如果模式针对正则表达式,则防止继续在文本框上书写

java - Spring Boot 和 ENUM 导致非法反射访问操作

java - Hudson 上的 Maven 构建随机失败

java - 在每个单词周围添加引号