Arduino的Split函數

Arduino雖然屬於C語言,但是很多副程式沒有包進去,最近要我拆解CSV檔案,也就是逗號分隔檔,發現Arduino沒有原生的split功能,本來想自己寫,但是Google一下就有了,在此付上

//此副程式用來拆解','分隔的字串
String getValue(String data, char separator, int index){
    int found = 0;
    int strIndex[] = { 0, -1 };
    int maxIndex = data.length() - 1;
    for (int i = 0; i <= maxIndex && found <= index; i++) {
        if (data.charAt(i) == separator || i == maxIndex) {
            found++;
            strIndex[0] = strIndex[1] + 1;
            strIndex[1] = (i == maxIndex) ? i+1 : i;
        }
    }
    return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}

使用時

String a1=getValue(“aa,bb,cc”,’,’,0);

就可以抓到aa了

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *