国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

asp兩組字符串數據比較合并相同數據

2024-05-04 11:00:36
字體:
來源:轉載
供稿:網友
a1="sp2=20;sp1=34;"
a2="sp3=2;sp2=3;sp1=4;"
兩組字符串數據,將字符串中相同的數據值相加后得到新的一組數據
即“sp3=2;sp2=23;sp1=38”

(p.s 一個簡單的應用:商品二原有數量20件,商品一原有數量34件,新進貨或者新出售了商品二3件,商品一4件等類型模擬情況下計算出進貨量,銷售量和庫存量,小型的進銷存系統可采用這樣的方法)

那么如何實現兩組字符串數據比較合并相同數據?

第一,將兩組字符串數據進行連接組合

a3=a1&a2
那么a3="sp2=20;sp1=34;sp3=2;sp2=3;sp1=4;"

第二,將a3中相同的數據進行值的相加

這里主要解決的是如何尋找到相同的數據

首先因為現在a3就是由 sp2、sp1、sp3、sp2和sp1組成,需要把相同的sp2和sp1單獨找出來再進行值得相加。

通過split函數分割“;”為分隔符獲得每塊數據和值。
即 s_array = split(a3,";")通過for i = 0 to ubound(s_array)循環我們可以獲得單獨的各項數據及值

其中每項的格式是類似“sp2=20”,要將sp2提取出來才能和同組中的數據進行比較,所以還需要獨立函數進行提取

Function getSPName(sp)
    getSPName = split(sp,"=")(0)
End Function

Function getSPNum(sp)
    getSPNum = split(sp,"=")(1)
end function

分別獲得“=”前的數據名稱和“=”后的數據值。

其次每塊數據都分解下來了,就是如何尋找到相同的數據名稱。
我們假設這樣的流程,首先將a3數組中的第一元素提取,通過和除第一元素之前以為的數據進行比較,如果有相同則進行相加。


s_array = split(a3,";")
for i = 0 to ubound(s_array)
    for j=i+1 to ubound(s_array)
        if getSPName(s_array(i)) = getSPName(s_array(j)) then
        Nums = Nums + Cint(getSPNum(s_array(j)))
        end if
    next
next

 

我們獲得了最終的值可以隨時將值賦到新的動態數組中,組合成最終的“組合數據”數組
redim Preserve result(p)
result(p) = getSPName(s_array(i)) & "=" & Nums



s_array = split(a3,";")
for i = 0 to ubound(s_array)
    for j=i+1 to ubound(s_array)
        if getSPName(s_array(i)) = getSPName(s_array(j)) then
        Nums = Nums + Cint(getSPNum(s_array(j)))
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 黄山市| 宣化县| 安徽省| 平邑县| 聊城市| 鄂托克前旗| 义乌市| 泗水县| 大埔区| 洪湖市| 海兴县| 石渠县| 河西区| 永川市| 定西市| 同江市| 邹平县| 祁东县| 姜堰市| 武城县| 响水县| 阿拉尔市| 定边县| 屏山县| 白银市| 湟源县| 高碑店市| 都安| 原阳县| 临潭县| 城步| 章丘市| 丹寨县| 乌鲁木齐市| 含山县| 临澧县| 阳西县| 南召县| 渝中区| 泰顺县|