java - 从字符串中删除某些字符

标签 java string replace character replaceall

<分区>

我想创建一个程序,在用户输入的字符串中给出字符、单词等的数量。为了获得字数统计,我需要删除所有句点和逗号形成一个字符串。到目前为止我有这个:

import javax.swing.JOptionPane;
public class WordUtilities
{
   public static void main(String args[])
   {
      {
      String s = JOptionPane.showInputDialog("Enter in any text.");

      int a = s.length();
      String str = s.replaceAll(",", "");
      String str1 = str.replaceAll(".", "");
      System.out.println("Number of characters: " + a);
      System.out.println(str1);
      }
   }
}

但最后我只得到了这个:

Number of characters: (...)

为什么不给我没有逗号和句点的字符串?我需要修复什么?

最佳答案

您可以使用:

String str1 = str.replaceAll("[.]", "");

代替:

String str1 = str.replaceAll(".", "");

正如@nachokk 所说,您可能想阅读一些有关正则表达式的内容,因为 replaceAll 第一个参数需要正则表达式。

编辑:

或者只是这样:

String str1 = s.replaceAll("[,.]", "");

用一句话来表达。

关于java - 从字符串中删除某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862001/

相关文章:

java - GAE Java Flexible env 502 坏网关

java - 读取网页内容

image - ColdFusion:从图像标签中剥离图像标签属性

bash - 在每次出现字符串时查找、替换和递增

java - 设计模式-单个对象只能存在于单个事件中

java - 使用按钮停止 for 循环

php - 如何在 PHP 中使用此字符串中的动态整数定界符拆分字符串?

c - 使用 "D"而不是 "E"读取 ASCII 数字用于使用 C 的科学记数法

c - 直接内存访问的段错误

notepad++ - Notepad++ 搜索和替换是否可以使用通配符