luelyzeng
歲月不饒人,我亦未曾饒過歲月
級別: 工控俠客
|
用5u做了一個套接字通信,接收到的數(shù)據(jù)是一串字符, 比如: S123,456,789E 應(yīng)該怎么把三個數(shù)據(jù)分別通過分隔符","提取分離出來?數(shù)據(jù)長度是不確定的,但有分隔符把數(shù)據(jù)分開, 請高手們不吝賜教!萬分感謝! |
|
---|---|---|
|
cythyx
級別: 家園?
|
圖片:
提供思路吧,用字符搜索功能,字符刪除,字符提取功能實現(xiàn)。首先去掉第一位S,,比如個1234,456,78910E ,用字符搜索功能搜索“,”在第幾位,比如在第一次搜索","在第五位,然后把前4位提出,然后刪除前5位剩下456.78910E,再次搜“,”提取456,出來,剩下78910E,繼續(xù)搜“,”一直循環(huán)到搜不到“,” 搜到最后沒有“,”了,剩下的就是78910E,把E前面的提出來就可以了。。 |
---|---|
|
夢雨天涯
微信hui530527 &
級別: 網(wǎng)絡(luò)英雄
|
大佬66666 |
|
---|---|---|
|
luelyzeng
歲月不饒人,我亦未曾饒過歲月
級別: 工控俠客
|
圖片:
字符串搞出來了,先用搜索INSTR,再用截取MID,最后用刪除STRDEL, 但現(xiàn)在遇到個問題,字符提取出來后,用DVAL指令CPU會報錯,假如解析出來的字符是“123” , DVAL(SM400,'123',D1200,D1500:D);就報錯了,但轉(zhuǎn)出來的數(shù)據(jù)又是對的,什么原因呢, |
|
---|---|---|
|
luelyzeng
歲月不饒人,我亦未曾饒過歲月
級別: 工控俠客
|
感謝感謝。∵有個問題,就是整數(shù)數(shù)據(jù)轉(zhuǎn)成字符串再發(fā)送出去,不足的長度前面會有空格,這時候就要算每個數(shù)據(jù)的長度,然后再用DSTR指令來重新合成需要的字符串,但這樣好像很籠統(tǒng),有更簡潔的辦法嗎,如果直接 用 DIN_TO_STRING 的話會帶很多空格,最不理解的就是符號還在前面,那么發(fā)送出去的數(shù)據(jù)就成了 “ - 123”類似的了 |
|
---|---|---|
|