设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 7482|回复: 20
打印 上一主题 下一主题

[其它] 【已解决】如何将字符串按定长字节分割成多个字符串?

[复制链接]

点击这里给我发消息

1#
发表于 2014-4-25 22:38:33 | 显示全部楼层
试一下这个,好像还有一点小问题,麻烦你自己测试了
  1. Public Function test(oldTXT As String) As String
  2.     Dim newTXT As String
  3.     Dim x As Integer, y As Integer
  4.     x = Len(oldTXT)
  5.     y = 1
  6.     Do Until y > x
  7.         If Mid(oldTXT, y, 1) Like "[a-z,0-9]" Then
  8.             newTXT = newTXT & Mid(oldTXT, y, 1) & ""
  9.             y = y + 1
  10.         Else
  11.             If Mid(oldTXT, y + 1, 1) Like "[a-z,0-9]" Then
  12.                 newTXT = newTXT & Mid(oldTXT, y, 2) & ""
  13.                 y = y + 2
  14.             Else
  15.                 newTXT = newTXT & Mid(oldTXT, y, 1) & " "
  16.                 y = y + 1
  17.             End If
  18.         End If
  19.     Loop
  20.     test = newTXT
  21. End Function
复制代码

  1. ?test("1我a人2年吃了3斤油")
  2. 1\我a\人2\年 \吃 \了3\斤 \油 \
复制代码

点击这里给我发消息

2#
发表于 2014-4-25 22:56:07 | 显示全部楼层
  1. Public Function test(oldTXT As String) As String
  2.     Dim newTXT As String
  3.     Dim x As Integer, y As Integer
  4.     x = Len(oldTXT)
  5.     y = 1
  6.     Do Until y > x
  7.         If Mid(oldTXT, y, 1) Like "[a-z,0-9]" Then
  8.             newTXT = newTXT & Mid(oldTXT, y, 1)
  9.             y = y + 1
  10.             If Mid(oldTXT, y, 1) Like "[a-z,0-9]" Then
  11.                 newTXT = newTXT & Mid(oldTXT, y, 1)
  12.                 y = y + 1
  13.                 If Mid(oldTXT, y, 1) Like "[a-z,0-9]" Then
  14.                     newTXT = newTXT & Mid(oldTXT, y, 1) & ""
  15.                     y = y + 1
  16.                 Else
  17.                     newTXT = newTXT & " "
  18.                 End If
  19.             Else
  20.                 newTXT = newTXT & Mid(oldTXT, y, 1) & ""
  21.                 y = y + 1
  22.             End If
  23.         Else
  24.             If Mid(oldTXT, y + 1, 1) Like "[a-z,0-9]" Then
  25.                 newTXT = newTXT & Mid(oldTXT, y, 2) & ""
  26.                 y = y + 2
  27.             Else
  28.                 newTXT = newTXT & Mid(oldTXT, y, 1) & " "
  29.                 y = y + 1
  30.             End If
  31.         End If
  32.     Loop
  33.     test = newTXT
  34. End Function
复制代码

  1. ?test("11我a人2年吃了3斤油")
  2. 11 \我a\人2\年 \吃 \了3\斤 \油 \
  3. ?test("我a人2年吃了3斤油")
  4. 我a\人2\年 \吃 \了3\斤 \油 \
  5. ?test("1我a人2年吃了3斤油")
  6. 1我\a人\2年\吃 \了3\斤 \油 \
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-15 12:30 , Processed in 0.093999 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表