如何计算字符的长度和截取字符(小节)
2005-12-10 09:10
501 查看
如何计算字符的长度和截取字符(小节)
在此之前,有很多问题问如何判断输入的字符的长度,一般情况很多的人都说一个一个的字取判断,还有全角判断,两种方法:
一:
Public Function GetStringLengthB(ByVal checkString As String) As Integer
Dim firstB As String
Dim asc As Integer
Dim i As Integer
Dim count As Integer
Dim stringLength As Integer
Dim strKana As String
strKana = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョ、。「」゙゚"
If Microsoft.VisualBasic.Trim(checkString) = "" Then
Return 0
End If
stringLength = checkString.Length
count = 0
For i = 1 To stringLength
firstB = Microsoft.VisualBasic.Mid(checkString, i, 1)
asc = Microsoft.VisualBasic.AscW(firstB)
If asc < 0 Or asc > 255 Then
If strKana.IndexOf(firstB) = -1 Then
count = count + 2
Else
count = count + 1
End If
Else
count = count + 1
End If
Next
Return count
End Function
二:
Private Function GetLength(ByVal str As String) As Integer
Dim encodingData() As Byte
encodingData = System.Text.Encoding.Default.GetBytes(str)
Return encodingData.Length
End Function
对于字符的截取那就可以采用第二种方法,是以位截取,不是以个数截取。
Private Function GetLength(ByVal str As String,Byval length as string) As string
Dim encodingData() As Byte
encodingData = System.Text.Encoding.Default.GetBytes(str)
If length < encodingData.Length Then
Return System.Text.Encoding.Default.GetString(encodingData, 0, length )
Else
Return str
End If
End Function
在此之前,有很多问题问如何判断输入的字符的长度,一般情况很多的人都说一个一个的字取判断,还有全角判断,两种方法:
一:
Public Function GetStringLengthB(ByVal checkString As String) As Integer
Dim firstB As String
Dim asc As Integer
Dim i As Integer
Dim count As Integer
Dim stringLength As Integer
Dim strKana As String
strKana = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョ、。「」゙゚"
If Microsoft.VisualBasic.Trim(checkString) = "" Then
Return 0
End If
stringLength = checkString.Length
count = 0
For i = 1 To stringLength
firstB = Microsoft.VisualBasic.Mid(checkString, i, 1)
asc = Microsoft.VisualBasic.AscW(firstB)
If asc < 0 Or asc > 255 Then
If strKana.IndexOf(firstB) = -1 Then
count = count + 2
Else
count = count + 1
End If
Else
count = count + 1
End If
Next
Return count
End Function
二:
Private Function GetLength(ByVal str As String) As Integer
Dim encodingData() As Byte
encodingData = System.Text.Encoding.Default.GetBytes(str)
Return encodingData.Length
End Function
对于字符的截取那就可以采用第二种方法,是以位截取,不是以个数截取。
Private Function GetLength(ByVal str As String,Byval length as string) As string
Dim encodingData() As Byte
encodingData = System.Text.Encoding.Default.GetBytes(str)
If length < encodingData.Length Then
Return System.Text.Encoding.Default.GetString(encodingData, 0, length )
Else
Return str
End If
End Function
相关文章推荐
- 如何计算字符的长度和截取字符(小节)
- Java字符串 字节数计算 截取长度
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- js字符串长度计算(一个汉字==两个字符)和字符串截取
- 批处理如何计算任意字符串的字符长度?
- 超出的字符长度截取显示省略号(...) 按字节长度计算
- perl中操作mysql,字符匹配与替换,字符串截取,计算字符长度
- lua 含中文的字符串处理--分离字符、计算字符数、截取指定长度
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- Objective-C ,ios,iphone开发基础:如何判断一个字符是不是中文字符。计算一段字符串的长度。
- ASP如何计算中英文混合字符串长度和截取字符串
- ThinkSNS+如何计算字符显示长度?【社交系统研发日记五】
- Utf-8、gb2312都支持的汉字截取函数 ;用count计算出匹配到的字符数,这对于中英文混编验证其长度非常有用
- ASP如何计算中英文混合字符串长度和截取字符串 .
- java中如何计算一个字符串的byte长度(一个汉字多少字符)
- Matlab研究小问题:如何计算一条线段所经过的网格区域和各区域内的长度
- 关于strlen 计算未初始化的字符数组长度
- lua截取指定长度字符(包含中文)
- asp.net准确截取文本长度(取得标题的字符数)
- 在DataList和Gridview中截取HyperLink所取的字符长度