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#
字符串。看看