社区
VB基础类
帖子详情
如何richtextbox把中文字符当2个字符处理?
aydgeLee
2001-12-15 04:14:36
使用查找方法时,若是中文,在定位查找起点时使用当前光标位置.selstart
但中文返回的index值显然只有.find方法需求的一半,如何解决?
或有啥方法使vb把中文字符当成两个字符?
请教请教
...全文
50
2
打赏
收藏
如何richtextbox把中文字符当2个字符处理?
使用查找方法时,若是中文,在定位查找起点时使用当前光标位置.selstart 但中文返回的index值显然只有.find方法需求的一半,如何解决? 或有啥方法使vb把中文字符当成两个字符? 请教请教
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
red_bat
2002-03-08
打赏
举报
回复
这要用到StrConv函数,StrConv 函数的语法为:
StrConv(待转换字串, 转换格式)
其中转换格式在这里用到的是:
vbUnicode 将 Ansi 字串转换为 Unicode
vbFromUnicode 将 Unicode 字串转换为 Ansi
将字串转成 Ansi 之後,所有的字串处理指令都要加个 B,例如:LeftB, RightB, MidB, ChrB, InstrB, LenB, InputB 等。例用这些指令来处理就行了。
当你处理完毕之后,你可以再将它再转回 Unicode,这样就可以使用一般的字串处理 指令了。
这样讲看得懂吗?如果还是不了解,看看下面的实例说明:
Private Sub Command1_Click ()
Dim sUnicode As String
Dim sAnsi As String
' Unicode 运算
sUnicode = "王小明,A123456789,651023,台北市中山路100号,(02)2345678"
Debug.Print Len(sUnicode) ' 传回 44
' 将 Unicode 字串转成 Ansi
sAnsi = StrConv(sUnicode, vbFromUnicode)
' Ansi 运算
Debug.Print LenB(sAnsi) ' 传回 54
End Sub
怎么样,懂了吗?
xsp
2002-01-17
打赏
举报
回复
自己计算,以pos 为当前光标的位置。
选取从开头到当前光标位置的所有文字,逐一判断(汉字的ascii码为负值),若是汉字则pos=pos+2 否则pos=pos+1
相关推荐
wpf
RichTextBox
文本编辑器
wpf
RichTextBox
文本编辑器,可实现打开保存,添加图片,
处理
字符
等 自己摸索出来的,有问题欢迎提出来。一起改进
WPF
RichTextBox
当前光标后一
个
字符
是文档的第几
个
字符
WPF
RichTextBox
当前光标后一
个
字符
是文档的第几
个
字符
运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-05 参考: TextPointer Class TextPointer.GetPositionAtOffset Method TextPoint...
Java中计算
处理
中文
两
个
字符
长度问题解决(
中文
2
个
字符
,英文1
个
字符
)
在java中定义一个 String str="我爱中国" ; str.length() 的长度是4
个
字符
,但是有时有我们
处理
文件格式的时候 ,定义固定的长度,
中文
只计算一
个
字符
的话,总的长度格式就不对了,这个时候我们就需要
处理
中文
占两
个
字符
,然后读文件格式的时候才会对应上。下面直接上代码。 public static void main(String[] args) { // TODO Auto-generated method stub St...
前端多行文本末行打点
很多时候我们要实现如何的打点效果,可是英文
字符
和
中文
字符
长度时不一样的,这个时候该如何实现如下效果呢? 至于展出操作应该是前端都能够
处理
的。 应该都知道英文占1
个
字符
,
中文
汉字占2
个
字符
。 将
中文
的
字符
长度按2个的位
字符
算出,然后想办法进行截取。 算出位
字符
长度: // 计算
字符
长度 function getStrlength(str){ ret
WPF
RichTextBox
获取光标前一
个
字符
WPF
RichTextBox
获取光标前一
个
字符
WPF
RichTextBox
获取光标前一
个
字符
WPF
RichTextBox
获取光标前一
个
字符
RichTextBox
textBox = this.
richTextBox
Message; TextPointer start = textBox.Selection.Start; var value = start.GetPositionAtOffset(-1); TextPointer newtart = this.
richTextBox
Message.C
发帖
VB基础类
VB基础类
VB 基础类
复制链接
扫一扫
7681
社区成员
19.7w+
社区内容
VB 基础类
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2001-12-15 04:14
社区公告
暂无公告