Foxtable(狐表)用户栏目专家坐堂 → 如何操作统计一段话中的字符数量呢?并根据大于60字符,提醒会拆分多少条?大于255字符后提醒并不能输入256后的字符?


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

主题:如何操作统计一段话中的字符数量呢?并根据大于60字符,提醒会拆分多少条?大于255字符后提醒并不能输入256后的字符?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
如何操作统计一段话中的字符数量呢?并根据大于60字符,提醒会拆分多少条?大于255字符后提醒并不能输入256后的字符?  发帖心情 Post By:2019/2/20 13:41:00 [只看该作者]

怎么实现
1、得到结果是十二个字符数量呢?谢谢!
Output.Show(UKey.LenStrA("请注意参会:下午两点半!"))
得到结果22字节

Dim str As String = "请注意参会:下午两点半!"
str = System.Text.RegularExpressions.Regex.Replace(str, "[^\u4e00-\u9fa5]", "")
msgbox(str)
msgbox(str.length)
得到十个汉字数量,但是没有统计:!这两个

2、如果字符大于60以后,根据输入的总数除以60计算出拆分的条数!
Dim str As String = "请注意参会:下午两点半!请注意参会:下午两点半!"
str = System.Text.RegularExpressions.Regex.Replace(str, "[^\u4e00-\u9fa5]", "")
Dim ab As Integer=str.length/60

If ab <> 0 Then
    MessageBox.Show("当前内容分成"& ab & "条发送")
Else
    MessageBox.Show("当前内容分成1条发送")
End If
有没有比上面这个代码更好的计算方法呢?

3、如果文本框输入字符数大于255,提醒输入达到最大,并且不能允许256后的字符输入文本框!

If e.Col.name  = "信息内容" AndAlso e.Text > "" AndAlso e.Text.Length <> 255 Then
 e.cancel= True
End If
这个代码没有达到我想要的效果,当前依然是系统自动判断大于255的就进行了截取,但是我想要实现的是文本框直接输入到255个字符后就不能输入了!
[此贴子已经被作者于2019/2/20 14:23:12编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/20 14:37:00 [只看该作者]

Output.Show("请注意参会:下午两点半!".length)

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Output.Show("请注意参会:下午两点半...  发帖心情 Post By:2019/2/20 14:46:00 [只看该作者]

谢谢有点蓝老师

第三个问题有没有解决办法呢

3、如果文本框输入字符数大于255,提醒输入达到最大,并且不能允许256后的字符输入文本框!

If e.Col.name  = "信息内容" AndAlso e.Text > "" AndAlso e.Text.Length <> 255 Then
 e.cancel= True
End If
这个代码没有达到我想要的效果,当前依然是系统自动判断大于255的就进行了截取,但是我想要实现的是文本框直接输入到255个字符后就不能输入了!

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/20 14:54:00 [只看该作者]

ValidateEdit事件

If e.Col.name = "第一列" Then 
    If e.Text.Length > 255 Then '输入内容的长度大于255
        e.Text = e.Text.SubString(0,255)
    End If
End If

 回到顶部