/**
* 从一个字符串找到以前后辍品配的一段宏代码,即宏代码参数
*
* @param _inittext 字符串
* @param _prefix 前括号
* @param _subfix 后括号
* @return
* @throws Exception
*/
public static List<String> getFormulaMacPars(String _inittext, String _prefix, String _subfix) throws Exception {
ArrayList<String> al_temp = new ArrayList<String>(); //
String str_remain = _inittext;
int li_pos_1 = str_remain.indexOf(_prefix); //
while (li_pos_1 >= 0) {
String str_leftsubfix = str_remain.substring(li_pos_1, str_remain.length()); //
int li_pos_2 = str_leftsubfix.indexOf(_subfix); // 必须有后辍!!!必须有一对!
if (li_pos_2 < 0) {//{}也是允许的。把<=0改为<0。否则报错![郝明2012-04-18]
throw new Exception("公式[" + _inittext + "]语句不合法,某个前辍没有对应的后辍!!!!!");
}
String string = str_leftsubfix.substring(0, li_pos_2+1);
al_temp.add(string); // 截取!
str_remain = str_leftsubfix.substring(li_pos_2 + _subfix.length(), str_leftsubfix.length()); //
li_pos_1 = str_remain.indexOf(_prefix); //
}
//return (String[]) al_temp.toArray(new String[0]);
return al_temp;
}