Foxtable(狐表)用户栏目专家坐堂 → 字符串分段?


  共有12017人关注过本帖树形打印复制链接

主题:字符串分段?

帅哥哟,离线,有人找我吗?
pyh6918
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1134 积分:11094 威望:0 精华:2 注册:2008/9/1 10:45:00
字符串分段?  发帖心情 Post By:2012/3/22 19:31:00 [只看该作者]

Dim r As  String="    中国国,经济ab123"
Dim bs() As  Byte = System.Text.Encoding.Default.GetBytes(r)
Dim cd As  Short= bs.Length
MessageBox.Show(cd)
执行后cd=20
请问如何将每10个字节赋值给一个变量?r的长度不定,各位帮帮忙!

 


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/3/22 20:14:00 [只看该作者]

substring

 

中英文在一起,按中文两个字符分,会有拆半的情况发生的。

[此贴子已经被作者于2012-3-22 20:17:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1134 积分:11094 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/3/22 20:39:00 [只看该作者]

 

是的,先不考虑拆半的问题,先解决这一步。

多谢!


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2012/3/22 21:09:00 [只看该作者]

Array.Copy

如果要使用的话,直接用bs这个变量就可以了啊,没必要拆开使用。

你是不是想分段保存下来啊


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1134 积分:11094 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/3/22 21:24:00 [只看该作者]

是的,请问这个怎么用?多谢!


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2012/3/22 21:56:00 [只看该作者]

即使是分段保存,也不需要 分到各个变量里面去

直接用for循环处理就可以了

Array.Copy的用法

http://msdn.microsoft.com/zh-cn/library/system.array.copy.aspx


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1134 积分:11094 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/3/22 22:24:00 [只看该作者]

谢谢,我去学习一下!

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1134 积分:11094 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/3/22 23:17:00 [只看该作者]

Dim r As  String="    中国国,经济ab123"
Dim bs() As  Byte = System.Text.Encoding.Default.GetBytes(r)
Dim cd As  Short= bs.Length
Dim d As array=bs
Dim f As array=d.copy(2,4)

 

最后这一句报错,对VB一窍不通啊!还请各位老师费心!

 

 



 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/3/22 23:32:00 [只看该作者]

这样可以吗:

Dim r As  String="    中国国,经济ab123aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Dim bs() As  Byte = System.Text.Encoding.Default.GetBytes(r)
Dim cd As  Short= bs.Length
'***MessageBox.Show(cd)
Dim n As Integer
If r.length Mod 10 > 0
    n = r.length/10
    For i As Integer = 0 To n-1

        output.show( r.substring(i*10,10))
    Next
    output.show(r.substring((n-1)*10,r.length Mod 10))
Else
    n = r.length/10
    For i As Integer = 0 To n-1
        output.show(r.substring(i*10,10))
    Next   
End If

[此贴子已经被作者于2012-3-22 23:34:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/3/23 0:24:00 [只看该作者]

Dim aa As String
Dim strRet As String
Dim bb As Byte()
aa = "截取4字符串abcjdj142你好"
bb = Encoding.Default.GetBytes(aa.ToCharArray())
For i As Integer = 0 To aa.Length  Step 10
    strRet = New String(Encoding.Default.GetChars(bb,0,10))
    If aa.IndexOf(strRet) = -1
        strRet = New String(Encoding.Default.GetChars(bb,0,9))
    End If
    Output.show(strRet)
    aa = aa.Replace(strRet,"")
    bb = Encoding.Default.GetBytes(aa.ToCharArray())
Next
Output.show(aa)

 回到顶部
总数 16 1 2 下一页