当前位置: 首页 > 面试题库 >

从字符串中删除某些字符

宗政欣可
2023-03-14
问题内容

我正在考虑使用String.replaceAll()删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如[a-zA-Z]和之类的东西$%!,等等)。

我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters-
from-a-string.html,
但是肯定有比遍历每个字符更好的方法…

有什么想法吗?

谢谢

例:

为了澄清,我将使用不同长度的字符串。我想从中剥离字符,在运行时确定确切的字符,然后返回结果字符串。

以上面的段落并允许我去除“ ,.”,我将返回字符串:

只是为了澄清一下,我将拥有不同长度的字符串,我想从中删除要在运行时确定的确切字符,并返回结果字符串

顺便说一句,我知道replaceAll()使用正则表达式,所以如果我想去除字符“ $ ,.”,我也需要转义它们,对吗?


问题答案:

我想,以下代码将为您提供帮助。

    String input = "Just to clarify, I will have strings of varying "
      + "lengths. I want to strip characters from it, the exact "
      + "ones to be determined at runtime, and return the "
      + "resulting string.";
    String regx = ",.";
    char[] ca = regx.toCharArray();
    for (char c : ca) {
        input = input.replace(""+c, "");
    }
    System.out.println(input);


 类似资料:
  • 问题内容: 我想从我的字符串中删除以下所有字符 “> [],-” 目前我正在这样做。但必须有一个更有效的方法 问题答案: 使用描述要替换的所有字符的正则表达式,以及替换与该正则表达式匹配的所有内容的方法: (编辑:实际上,我认为不应该转义。而且我忘记了将反斜杠加倍,因为它们会被解释两次:一次是由Java编译器,一次是由正则表达式引擎。)

  • 问题内容: 我正在尝试从文本文件中读取文本,读取行,删除包含特定字符串的行(在这种情况下为“坏”和“顽皮”)。我写的代码是这样的: 我这样写,但没有成功。 重要的一件事是,如果文本的内容是这样的: 我不希望输出有空行。所以不喜欢: 但是像这样: 我应该从上面的代码中编辑什么? 问题答案: 您可以像这样使代码更简单,更易读 使用上下文管理器和任何。

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?

  • 问题内容: 在Java中,从字符串中删除给定字符的最有效方法是什么?目前,我有以下代码: 如果我使用某种StringBuilder或正则表达式,或者其他方法,会更快吗?是的,我知道:剖析并查看,但是我希望有人能够提供一个解答,因为这是一项常见的任务。 问题答案: 这是一个很晚的答案,只是为了好玩。 在这种情况下,我建议您以提高速度的可读性为目标。当然,您可以超级可读,但速度太慢,例如在此超级简洁版

  • 问题内容: 我对此感兴趣 ,它将在给定的$ string中搜索$ char1和$ char2,如果找到了该字符串,则从这两个字符之间的子字符串中清除$ string, 包括 $ char1和$ char2本身。 例: 现在,$ string应该只包含 有人有快速解决方案吗? 问题答案:

  • 我应该编写一个函数,排除句子(字符串)中的某些字母(char)。我基本上也这么做了,但问题是我只剪掉了这个字母在句子中的第一次出现。 我需要如何更改最后一个函数以删除字母的所有外观?找到所有索引可能并不难,但真正的困难是之后将子字符串放在一起,这样您仍然只剩下一句话,而没有某些字母。因为如果我理解正确,索引越多,您需要添加的不同子字符串就越多。 目前我得到了这个。 我们的目标是: