【问题标题】:Removing unwanted char in the String [duplicate]删除字符串中不需要的字符 [重复]
【发布时间】:2021-01-13 08:26:16
【问题描述】:

我有一个字符串

String seq = "AGAGTTAAGTG+A";

我想删除除 A、C、G 和 T 之外的所有字符。这样字符串就可以变成

String newseq ="AGAGTTAAGTGA"

我尝试了下面的代码,但并没有真正奏效:

String result = str.replaceAll("[^!+]", "");

我听说StringBuilder 方法可以使用,但我不确定如何使用它。谁能建议我如何做到这一点?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • Stack Overflow 用户不是来为您完成工作的。我们在这里帮助您解决您在尝试解决问题时可能遇到的任何问题。因此,请向我们展示您尝试过的方法,并告诉我们没有按预期工作的地方。
  • 我卡在开头,我必须使字符串仅由 A、C、G、T 组成。我并不是要请别人做我的工作。我很抱歉。
  • 有效字符集小于无效字符集。遍历字符串并仅使用有效字符构建新字符串比从原始字符串中删除无效字符要容易得多。
  • 有人说我们可以使用 StringBuilder 方法, - 我同意。 但我不确定如何使用它。 - 您是否在论坛中搜索了使用 StringBuilder 类的示例?这是一种学习方式。在任何情况下,都只是遍历字符串中的每个字符。如果是“A、C、G、T”,则将字符添加到 StringBuilder。它就像 3 行代码。一个用于 for 循环,一个用于 if 语句,另一个用于将字符添加到 StringBuilder。然后当循环结束时,你调用 StringBuilder 上的 toString() 方法来获取你的新字符串。

标签: java string stringbuilder


【解决方案1】:

您可以使用^ 字符来否定组:

String result = seq.replaceAll("[^ACGT]", "");

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 2016-06-29
    • 2011-12-24
    • 1970-01-01
    • 2021-03-23
    • 2011-09-02
    相关资源
    最近更新 更多