Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java字符串替换的最佳方法_Java_String - Fatal编程技术网

java字符串替换的最佳方法

java字符串替换的最佳方法,java,string,Java,String,我有一个字符串: a0 + a1*ln(Hr) + a2*ln(St) + a3*ln(Tr) 这需要转换为: a1 + a2*log(Hr[i]) + a3*log(St[i]) + a4*log(Tr[i]) 如果只有这个字符串,我将使用replaceAll() 如果您需要更频繁地应用该模式,请考虑使用以下方法: String f = "a0 + a1*ln(Hr) + a2*ln(St) + a3*ln(Tr)"; f.replaceAll("ln", "log").replaceAl

我有一个字符串:

a0 + a1*ln(Hr) + a2*ln(St) + a3*ln(Tr)
这需要转换为:

a1 + a2*log(Hr[i]) + a3*log(St[i]) + a4*log(Tr[i])
如果只有这个字符串,我将使用replaceAll()

如果您需要更频繁地应用该模式,请考虑使用以下方法:

String f = "a0 + a1*ln(Hr) + a2*ln(St) + a3*ln(Tr)";
f.replaceAll("ln", "log").replaceAll("\\(([A-Z][a-z])\\)","($1[i])"));

这将用
log
替换所有
ln
,并在每个
(Xx)
字符串后添加
[i]

谢谢您的回复。。这很有效,但还有一个变化。。如果你注意到我的转换问题。。在第一个字符串中,它是a0+a1*ln(Hr),在对话之后,它必须是a1+a2*log(Hr[i]),我希望你的意思是
f.replaceAll………..
@Tapsi它比现在进化了一点,你需要使用
Pattern
Matcher
通过匹配进行迭代,并增加
x#
字符串。看看