急求一算法:关于字符串

jie115 2003-09-27 11:50:14
有一字符串: 01020305061213151617.............
现在要求取出其中的时序列的一段组成数组如:010203 为一组,030506为一组,1213为一组............
要求函数,输出为数组.
急求..
...全文
48 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
jie115 2003-09-27
  • 打赏
  • 举报
回复
谁提供具体代码.....
射天狼 2003-09-27
  • 打赏
  • 举报
回复
几个连接,什么意思,根本没搞懂你问的问题,比较笨啊~~
踏平扶桑 2003-09-27
  • 打赏
  • 举报
回复
如果只是取得递增数值的话,可以用for函数,每次去两个(01 02算是两个)然后比较如果是递增就先存到一个临时变量里,否则,说明这个递增已经结束,进行处理然后从继续提取下个递增数
jie115 2003-09-27
  • 打赏
  • 举报
回复
现在是我不知道MID函数的参数值啊.
那要通过比较才知道啊.可是这个算法是????
jie115 2003-09-27
  • 打赏
  • 举报
回复
拆分是可以,但是我怎么知道有几个连续的是递增的了,怎么取到连续的那些数据啊//////
射天狼 2003-09-27
  • 打赏
  • 举报
回复
本示例使用 Mid 语句来得到某个字符串中的几个字符。

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" 建立一个字符串。
FirstWord = Mid(MyString, 1, 3) ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4) ' 返回 "Demo"。
MidWords = Mid(MyString, 5) ' 返回 "Funcion Demo"。
射天狼 2003-09-27
  • 打赏
  • 举报
回复
Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据。因此其参数指定的是字节数,而不是字符数。
射天狼 2003-09-27
  • 打赏
  • 举报
回复
位数固定吗?如果固定的话可以用MID函数进行拆分~~
jie115 2003-09-27
  • 打赏
  • 举报
回复
是的
要求每两个字符为一组比较大小,是连续的话就组合到一起
海牛 2003-09-27
  • 打赏
  • 举报
回复
能把规定说明白点吗?比如在01020305061213151617.............中,010203是递增吗?
如果01 02 03 每两个字符组成,就是递增。
是这样吗?
jie115 2003-09-27
  • 打赏
  • 举报
回复
更正:
有一字符串: 01020305061213151617.............
现在要求取出其中的是递增序列的一段组成数组如:010203 为一组,0506为一组,1213为一组............
要求函数实现,输出为数组.
急求..
海牛 2003-09-27
  • 打赏
  • 举报
回复
能说明白点吗?
jie115 2003-09-27
  • 打赏
  • 举报
回复
Rick110AAA(海牛) and NotReady(No) 的代码可行
------------------谢谢
其实这是我们大学时期的数据结构中一个很具有代表意义的算法。
现在怀念读书啊。
---------
结帖
NotReady 2003-09-27
  • 打赏
  • 举报
回复
这个算法把所有的升序数列找出来
NotReady 2003-09-27
  • 打赏
  • 举报
回复
Dim str As String
Dim aa() As String
Dim lngTmp As Long
Dim lngTemp As Long
Dim strString As String
Dim str1 As String
Dim i As Long
str = "01020312130105"
lngTmp = CLng(Left(str, 2))
str1 = Left(str, 2)
Do Until False
str = Right(str, Len(str) - 2)
If Len(str) < 1 Then Exit Do
lngTemp = CLng(Left(str, 2))
If lngTmp > lngTemp Then
str1 = str1 & "-"
lngTmp = lngTemp
str1 = str1 & Left(str, 2)
Else
lngTmp = lngTemp
str1 = str1 & Left(str, 2)
End If
Loop
aa = Split(str1, "-")
海牛 2003-09-27
  • 打赏
  • 举报
回复
还不结帖?
海牛 2003-09-27
  • 打赏
  • 举报
回复
wfnuser(夏雪)兄,数据长度不是固定的!
MSSQL 2003-09-27
  • 打赏
  • 举报
回复
sub GetArrey(strtemp as string)
dim i as integer
dim tstr as string
for i=1 to len(strtemp)
tstr=mid(strtemp,i,6)
if len(tstr)=6 then
if val(right(tstr,2))-val(mid(tstr,3,2)=1 AND val(mid(tstr,3,2))-val(left(tstr,2))=1 then
debug.print tstr
end if
next i
end sub
MSSQL 2003-09-27
  • 打赏
  • 举报
回复
sub GetArrey(strtemp as string)
dim i as integer
dim tstr as string
for i=1 to len(strtemp) step 6

tstr=mid(strtemp,i,6)
if len(tstr)=6 then
if val(right(tstr,2))-val(mid(tstr,3,2)=1 AND val(mid(tstr,3,2))-val(left(tstr,2))=1 then
debug.print tstr
end if
next i
end sub
海牛 2003-09-27
  • 打赏
  • 举报
回复
笔误!语句:Me.List2.AddItem strT2 应删除!
加载更多回复(2)

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧