日期:2014-05-20  浏览次数:20744 次

求一个正则表达式或者解决方案
一个字符串,我要找到其中的sin表达式并加上括号
比如13*sin a*sin b 
我要变成13* sin (a)*sin (b)
字符串是随机  sin a也是不固定的 可能有 sin 2/a  sin axyz 等等
请问大家有什么好的方案没 
就是给sin 里的内容加上括号
我本来想用正则去匹配 但不大熟悉这块

------解决方案--------------------
     public static void main(String[] args){
     String s = "13*sin a*sin b ";
     s = s.replaceAll("sin(.+?)(\\+
------解决方案--------------------
-
------解决方案--------------------
\\*
------解决方案--------------------
/
------解决方案--------------------
$)", "sin($1)$2");
     System.out.println(s);
     }

------解决方案--------------------

String s="13*sin a/2*sin b*3";
s=s.replaceAll("(?<=sin )(.*?)(?=((\\+
------解决方案--------------------
-
------解决方案--------------------
\\*
------解决方案--------------------
/)sin)
------解决方案--------------------
$)", "($1)");
System.out.println(s);