例圖:
這個例子是在上篇例子的基礎上修改而來的,我這裡只對修改的兩個地方做下闡述:
下面我們看看getexpressionstring()函式
三、字元解析類----expressionutil
這個類裡總共有兩個函式,其實主要就乙個,另乙個只是在內部被呼叫的,先看看上面被呼叫到的getexpressionstring()函式
/*** 得到乙個spanablestring物件,通過傳入的字串,並進行正則判斷
* @param context
* @param str
* @return
*/public static spannablestring getexpressionstring(context context,string str,string zhengze) catch (exception e)
return spannablestring;
}這個沒什麼實際功能,就是將傳進來的字元和正規表示式進行封裝,傳到dealexpression()這個函式裡面去,我們看看這個函式是什麼功能;
/*** 對spanablestring進行正則判斷,如果符合要求,則以表情代替
* @param context
* @param spannablestring
* @param patten
* @param start
* @throws securityexception
* @throws nosuchfieldexception
* @throws numberformatexception
* @throws illegalargumentexception
* @throws illegalacces***ception
*/public static void dealexpression(context context,spannablestring spannablestring, pattern patten, int start) throws exception
field field = r.drawable.class.getdeclaredfield(key); //根據得到的名字獲得資源
int resid = integer.parseint(field.get(null).tostring()); //通過上面匹配得到的字串來生成資源id
if (resid != 0)
break;}}
}1、首先將字元與正規表示式匹配:matcher matcher = patten.matcher(spannablestring);
2、對於匹配的結果: string key = matcher.group();得到整個匹配,因為我們定義的正規表示式只是匹配的檔案句,匹配的結果肯定也就是檔名比如:f001;
3、下面的幾句就是根據檔名,得資源然後放到spannablestring中,替代這個檔名
WCF 簡單架構(二) 實現服務
基於wcf契約的實現,可根據需要自行處理。這裡加上簡單的抽象基類,方便之後擴充套件,基類中可加入計數,日誌等監控功能 所有wcf實現處理基類 public abstract class wcfservicebase iwcfservice throw new exception string.for...
Nginx tomcat 實現服務集群
測試環境 虛擬機器 linux centos 6.5 windows tomcat nginx 話不多說,直接開擼 3 先測試一下訪問兩個tomcat,如圖,兩個tomcat可以正常訪問 worker processes 1 工作程序的個數,一般與計算機的cpu核數一致 當前的nginx的配置 se...
java實現日誌服務
我們在伺服器程式中經常用到日誌,日誌對於我們排查問題有很大的幫助。下面是日誌服務的思路以及實現 思路 多個生產者單個消費者的設計方式,每個呼叫log的操作都相當於乙個生產者,而後台的日誌執行緒則相當於消費者。public class loggerservice public void start p...