vb查找相同而且紧密相连的字符

来源:百度知道 编辑:UC知道 时间:2024/06/09 17:40:09
VB问题

各位牛人好:我有一个VB编程问题想要请教,请求各位解答
有一组数据如下:
产品:+洗发露
描述:甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊甲乙丙丁甲乙丙丁甲乙丙丁甲乙甲乙甲乙甲乙丙丁戊甲乙丙丁戊……
产品:+沐浴露
描述:甲乙丙丁甲乙丙丁甲乙丙丁甲乙丙丁甲乙丙丁甲乙丙丁甲乙丙丁甲乙甲乙甲乙甲乙丙丁戊甲乙丙丁戊……
产品:+香皂
描述:甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊甲乙丙丁甲乙丙丁甲乙丙丁甲乙甲乙甲乙甲乙丙丁戊甲乙丙丁戊……
欲从中将含有“+”的字符提起出来,放在text文档中的不同列,效果如下:
+洗发露 +沐浴露 +香皂
然后从各产品的描述中查找这样的字符:几个(甲乙丙丁戊)紧密连在一起的字符,例如甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊甲乙丙丁戊,报告他的位置和个数,如果没有找到再在原位置找几个(甲乙丙丁)紧密连在一起的字符,然后是(甲乙丙),(甲乙)。并将他们各自记录在各自的产品名列下。
其实就是一个这样的问题:有一组字符串,例如为 某序列xdl:ABCDEFABCDEFABCDEFABCABCABABBCDBCDBCDBCD.......,
现要把序列名称同序列分开,把序列名首先弄到text文档里面去,然后再从序列中查找这样的字符,首先找ABCDEFABCDEFABCDEFABCDEF,也就是几个连在一起相同的字符,如果没有找到就从原位置找ABCDABCDABCD,如此依次进行,但是如果找到了就不再返回原位置进行寻找。

大概就是用indexof查
如果结果为-1则left或者split去掉一个字符,继续indexof
例如,sString.IndexOf(sFind) ,indexof的用处是返回是否查找到输入的参数字符串,找不到则返回-1,找得到则返回它的位置

读入数据后用mid 或right 判断第一个字符是不是"+",如是,则为产品名,记到一个变量中.如不是,则是产品描述,用instr 查找目标字符串的位置,如果第一次查找结果>1,将结果加上len(字符串)后作为查找起点继续查找,并记下位置和查找次数.以此类推,最后将结果写入文件即可.