资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

有没有一个这样的类似left()的API函数,能取得中英文字混杂的字符串的前10个字符,即汉字算2个字符。

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

比如字串:"12345abcdefg",   要得到"12345abcde"  
                      "12345中文字串",   则要得到"12345中文"   (最后半个中文字舍弃)  
   
  如果没有相应的函数,要自己写循环遍历的代码,那就算了,我自己能写出来。  
   
  谢谢关注。  
 

网友回答:

发表者:bladeinside

leftb(string,length)  
  length是字节数  
  "12345abcdefg",   要得到"12345abcde"  
  leftb("12345abcdefg",20)  
  "12345中文字串",   则要得到"12345中文"  
  leftb("12345中文字串",14)  
 

发表者:leolan

MsgBox   StrConv(LeftB(StrConv("12345中文字串",   vbFromUnicode),   10),   vbUnicode)

发表者:yassee

 
  一个转换的例子:  
  Private   Sub   Command3_Click()  
  Dim   a   As   String  
  Dim   b()   As   Byte  
  Dim   c()   As   Byte  
  Dim   s$  
  a   =   "12上海12"  
  b   =   StrConv(a,   vbFromUnicode)  
  For   i   =   0   To   UBound(b)  
  Debug.Print   b(i);  
  Next   i  
  ReDim   c(3)   As   Byte  
  For   i   =   0   To   3  
  c(i)   =   b(i)  
  Next   i  
  s   =   StrConv(c,   vbUnicode)  
  Debug.Print   s;     取得“12上”  
  ReDim   c(5)   As   Byte  
  For   i   =   0   To   5  
  c(i)   =   b(i)  
  Next   i  
  s   =   StrConv(c,   vbUnicode)  
  Debug.Print   s;     取得“12上海”  
  End   Sub  
   
 


 

 
热门推荐笔记本: 清华同方笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved