源数据“192.168;192.168.3;”,得到的数量及192.168与192.168.3
------解决方案--------------------
很吃惊会有这样的问题,不知道理解的对不对,写个函数TotalText方便调用
//====================================================================
// 事件: TotalText
//--------------------------------
// 描述:在字符串Str1中统计字符串Str2个数
//--------------------------------
// 参数:
// string str1 源字符串
// string str2 要统计的字符串
//====================================================================
int li_m,li_n,li_count =0
li_m=1
li_n=gnv_str.uf_pos(str1,str2,li_m)
Do While li_n>0
li_count++
li_m=li_n+gnv_str.uf_len(str2)
li_n=gnv_str.uf_pos(str1,str2,li_m)
Loop
return li_count
调用函数:
//====================================================================
// 事件: TotalText
//--------------------------------
// 描述:在字符串Str1中统计字符串Str2个数
//--------------------------------
// 参数:
// string str1 源字符串
// string str2 要统计的字符串
//====================================================================
int li_m,li_n,li_count =0
li_m=1
li_n=gnv_str.uf_pos(str1,str2,li_m)
Do While li_n>0
li_count++
li_m=li_n+gnv_str.uf_len(str2)
li_n=gnv_str.uf_pos(str1,str2,li_m)
Loop
return li_count
------解决方案--------------------
函数调用粘错了,应该是:
string ls_str
int li_count
ls_str="192.168;192.168.3;"
li_count=totalText(ls_str,"192.168")
messagebox("提示",li_count)
li_count=totalText(ls_str,"192.168.3")
messagebox("提示",li_count)
------解决方案--------------------
那都是一样的
------解决方案--------------------
楼主需要给定,字符串的分隔符
如你所述,有小写的分号,大写的分号,还有其他的吗?
只要循环字符串,就可以解决问题的啊
------解决方案--------------------
我的意思是你要写一个函数,然后调用函数。
------解决方案--------------------
哦,原来是误解你的意思了。
下面的函数是将一个字符串根据分隔符拆分到数组里,然后你自己再循环处理一下数组就行了
//====================================================================
// 事件: .getarrayto()
//--------------------------------
// 描述:根据提供的分隔符将字符串分割到指定的字符串数组
//--------------------------------
// 参数:
// string data 要分割的字符串
// string sign 分隔符
// ref string as_array[] 指定的字符串数组
//--------------------------------
// 返回: integer 返回数组的上限
//--------------------------------
// 类型: 字符串函数
//====================================================================
Int li_pos = 1,li_find,li_len,li_index = 0
String ls_value,ls_item[]
If Len(Data) = 0 Then Return 0
//分隔符长度
li_len = len(Sign)
//循环分割
li_find = pos(Data,Sign,1)
Do While li_find > 0
li_index++
ls_value = mid(Data,li_pos,li_find -li_pos)
ls_item[li_index] = ls_value