gpt4 book ai didi

java - 如何分隔以 "$"分隔的 java 字符串?

转载 作者:行者123 更新时间:2023-12-01 12:32:38 25 4
gpt4 key购买 nike

我正在使用spock来测试java应用程序。似乎“$”是groovy中的特殊字符。任何用“$”分隔的java字符串都无法在groovy中正确分隔。这个问题有什么解决方法吗?

更新

“分割”发生在我无法编辑的java代码中。事实证明,java代码有一个相同的问题:Why can't I split a string with the dollar sign?

最佳答案

我不认为 $ 是 Groovy 字符串中的特殊字符。 编辑:是的,它是,如果您使用 GStrings !但其余的可能仍然有用: 但它是您赋予 String#split 的字符串中的一个特殊字符。 ,因为该字符串被解释为正则表达式,并且在正则表达式中,$ 是“输入结束”(或行结束,具体取决于标志)。

如果您使用String#split,要使其在文字$上拆分,您必须使用反斜杠对其进行转义。要使正则表达式引擎看到反斜杠,您必须使用另一个反斜杠转义字符串文字中的反斜杠。

Example :

'testing$one$two$three'.split('\\$').each {
println it
}

输出:

testingonetwothree

Better yet, as suggested by Dónal, use tokenize:

Example:

'testing$one$two$three'.tokenize('$').each {
println it
}

(相同的输出)

关于java - 如何分隔以 "$"分隔的 java 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823866/

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