/**
* 從一個字符串找到以前后輟品配的一段宏代碼,即宏代碼參數
*
* @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;
}