字符串处理的问题 问:现在有个字符串比如: “你3456中文数据asdfgt"这个字符串的总长度是20位把, 我要将前1-6位放在变量a中,紧跟的后6位7-16放在变量B中,17-20放在变量C中,这个用程序怎么写呢, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 忘了,字符串,要是“123 中国 1111”的呢 前8位放在A中,9-17位放在B中,18-21放在C中 谢谢,我在线等 Left$() Right$() mid$() 你具体是什么要求啊 s=“123 中国 1111”A=mid(s,1,8)B=mid(s,9,9)C=mid(s,18) TO: crycoming(瞎编) 老兄 你的写法取出的结果不对,中文占用两个字符呢 1A = Left(str1, 6)B = Mid(str1,7,10)C = Mid(str1,17)2A = Left(str1, 8)B = Mid(str1,9,9)C = Mid(str1,18) 更正1A = LeftB(str1, 6)B = MidB(str1,7,10)C = MidB(str1,17)2A = LeftB(str1, 8)B = MidB(str1,9,9)C = MidB(str1,18) TO: of123() 一个中文有两个字符 B = MidB(str1,9,9) C = MidB(str1,18) 返回的怎么是乱码呢 如果要考虑这个问题的话,要试一下strConv,自已看.StrConv 函数 返回按指定类型转换的 Variant (String)。语法StrConv(string, conversion, LCID)StrConv 函数的语法有下面的命名参数:部分 说明 string 必要参数。要转换的字符串表达式。 conversion 必要参数。Integer。其值的和决定转换的类型。 LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) 设置值conversion 参数的设置值为:常数 值 说明 vbUpperCase 1 将字符串文字转成大写。 vbLowerCase 2 将字符串文字转成小写。 vbProperCase 3 将字符串中每个字的开头字母转成大写。 vbWide* 4* 将字符串中单字节字符转成双字节字符。 vbNarrow* 8* 将字符串中双字节字符转成单字节字符。 vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 vbHiragana** 32** 将字符串中片假名字符转成平假名字符。 vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 vbFromUnicode Private Sub Command1_Click()X = "你3456中文数据asdfgt"X = StrConv(X, vbFromUnicode)a = MidB(X, 1, 6)a = StrConv(a, vbUnicode)b = MidB(X, 7, 10)b = StrConv(b, vbUnicode)c = MidB(X, 17, 4)c = StrConv(c, vbUnicode)Print aPrint bPrint cEnd Sub 看看我的mscomm的接收事件中用strconv()函数转化了一下 就只能收到字符串的第一个字符了,是怎么回事? 例如发一个buffer="sdfsadadf'只能受到第一个s 或者sd buffer=mscomm.input Debug.Print StrConv(buffer, vbUnicode) Text3.Text = Text3.Text & StrConv(buffer, vbUnicode) 呵呵 人还是要靠自己啊 多实验就出来了 我终于明白了原来是 mscomm.inputmode 属性设置的问题 换成二进制形式 就需要上面语句转化 文本形式则不用! EXE减磅问题! 关于form 的问题 窗体show 的问题,急 求 excel9.olb文件 能否在datagrid中同时显示几个不同得Ado查询结果呢? 100分求救:如何用Installshield在一台已经安装了SQL的计算机上安装一个SQL数据库,谢谢 [求助]菜鸟的小问题 有VB高手来帮忙看下这个 关于贝塞尔曲线的程序么? 怎样才能延迟系统菜单弹出的时间? 关于mscomm发送文件的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 我寫的程序為什麼在任務管理器裡可以被結束和偵錯結束? vb打印报表的问题
A=mid(s,1,8)
B=mid(s,9,9)
C=mid(s,18)
你的写法取出的结果不对,中文占用两个字符呢
A = Left(str1, 6)
B = Mid(str1,7,10)
C = Mid(str1,17)2
A = Left(str1, 8)
B = Mid(str1,9,9)
C = Mid(str1,18)
1
A = LeftB(str1, 6)
B = MidB(str1,7,10)
C = MidB(str1,17)2
A = LeftB(str1, 8)
B = MidB(str1,9,9)
C = MidB(str1,18)
一个中文有两个字符
B = MidB(str1,9,9)
C = MidB(str1,18)
返回的怎么是乱码呢
返回按指定类型转换的 Variant (String)。语法StrConv(string, conversion, LCID)StrConv 函数的语法有下面的命名参数:部分 说明
string 必要参数。要转换的字符串表达式。
conversion 必要参数。Integer。其值的和决定转换的类型。
LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。)
设置值conversion 参数的设置值为:常数 值 说明
vbUpperCase 1 将字符串文字转成大写。
vbLowerCase 2 将字符串文字转成小写。
vbProperCase 3 将字符串中每个字的开头字母转成大写。
vbWide* 4* 将字符串中单字节字符转成双字节字符。
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。
vbFromUnicode
X = "你3456中文数据asdfgt"
X = StrConv(X, vbFromUnicode)
a = MidB(X, 1, 6)
a = StrConv(a, vbUnicode)
b = MidB(X, 7, 10)
b = StrConv(b, vbUnicode)
c = MidB(X, 17, 4)
c = StrConv(c, vbUnicode)
Print a
Print b
Print cEnd Sub
用strconv()函数转化了一下 就只能收到字符串的第一个字符了,是怎么回事? 例如发一个buffer="sdfsadadf'只能受到第一个s 或者sd
buffer=mscomm.input
Debug.Print StrConv(buffer, vbUnicode)
Text3.Text = Text3.Text & StrConv(buffer, vbUnicode)