gpt4 book ai didi

Java:如何替换字符串中除 [0-9] 和 "sin","cos","tan","ctg"、 "("、 ")"之外的所有内容

转载 作者:行者123 更新时间:2023-11-30 03:42:03 25 4
gpt4 key购买 nike

我需要替换字符串中除以下字符之外的所有字符:[0-9] 和 "sin"、"cos"、"tan"、"ctg"、"("、 ")"

我认为我需要使用 String.replaceAll("some regex","") 但无法找到正确的正则表达式。

例如,如果我有以下字符串:123321323n3k332313jbj323sin232323jkjctg2323。我需要在替换后得到这个:1233213233332313323sin232323ctg2323

需要用空字符“”替换坏字符

解决方案: String.replaceAll("(c(?:os|tg)|sin|tan)|[^0-9\\(\\)]","$1"); 感谢 Krayo

最佳答案

我认为您正在寻找的是:

(c(?:os|tg)|sin|tan)|[^0-9)(]

使用此替换字符串:

$1

首先测试并捕获括号之间的内容。 $1是对此捕获的引用。如果这些括号的内容不匹配,则不会捕获任何内容,并且 $1引用解析为空字符串。

(?:...)仅界定非捕获组,对于两种可能性很有用 ostgc之后.

要用简单的英语翻译此正则表达式的作用:将除数字或括号之外的任何内容替换为

  • 如果它是“cos”、“sin”、“tan”或“ctg”之一,则为自身
  • 没有别的。

关于Java:如何替换字符串中除 [0-9] 和 "sin","cos","tan","ctg"、 "("、 ")"之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26618188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com