一般取字符串的长度都会用到 str.length(),.length得到的是字符长度,不是字节长度,一个汉字和一个英文字符都是算一个字符的,在不同编码格式中,汉字占用的字节是不同的,比如在GB2312中汉字是2个字节,而在UTF-8编码格式中是3个字节,所以要根据不同的编码来计算。
在js脚本中
比如在GB2312中: function getByteForGB(s) { return s.replace(/[^\u0000-\u007f]/g, "\u0061\u0061").length; } 在UTF-8中: function getByteForUTF(s) { a=s.replace(/[\u0000-\u007f]/g, "\u0061"); b=a.replace(/[\u0080-\u07ff]/g, "\u0061\u0061"); c=b.replace(/[\u0800-\uffff]/g, "\u0061\u0061\u0061"); return c.length; }
对于JAVA后台处理,例如针对utf-8编码
/** * UTF-8的情况下统计输入的字节数 * @param strValue * @return */ public static int getStrLength(String strValue) { int length = 0; int count = 0; // --------------------------oneChar String regex = "[\u0000-\u007f]"; count = getCountByRegex(regex, strValue); length += count; // --------------------------twoChar regex = "[\u0080-\u07ff]"; count = getCountByRegex(regex, strValue); length += count * 2; // --------------------------triChar // utf-8字符下,一个汉字占3个字节 regex = "[\u0800-\uffff]"; count = getCountByRegex(regex, strValue); length += count * 3; return length; } /** * 根据正则获取匹配到得字符数量 * @param regex 正则表达式 * @param strValue * @return */ public static int getCountByRegex(String regex, String strValue) { int count = 0; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(strValue); while (m.find()) { count++; } return count; }
相关推荐
Dim lenth As Integer = Len(strInput) ' 获取字符串长度 Dim leftLenth As Integer = 2 ' 设定从左边取的字符数 Dim rightLenth As Integer = 3 ' 设定从右边取的字符数 ' 使用Len函数 lenth = Len(strInput) ' ...
本文将详细介绍几种常用的获取字符串长度的方法,包括这些方法的工作原理、适用场景以及潜在的限制。 ### 一、使用`sizeof`获取字符串长度 `sizeof`运算符是一种基本的C/C++语法,用于计算数据类型或变量的字节数...
常见的VC获取字符串长度的方法 在软件开发中,获取字符串长度是一个常见的操作,但是字符串长度的定义并不唯一,通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。下面将介绍五种常见...
java获取字符串长度,长度不够补相应的字符串
再者,获取字符串长度可以使用内置的`strlen`函数,但如果需要自己实现,可以遍历字符串直到遇到空字符`\0`为止,计数器的值就是字符串长度。需要注意,这种方法不适用于包含空字符的字符串,因为它会误判字符串长度...
1. 固定位置截取:这种方法通常基于起始位置和结束位置来获取字符串的一部分。例如,在Python中,你可以使用切片操作符`[start:end]`来截取字符串,其中`start`是开始索引,`end`是结束索引(不包括该位置的字符)。...
This is a bat file that can get a string length, and without using any other tools, it can make this happen by windows dos command only. Usage: stringlen.bat 1234567890 return:StringLenth=10 ...
本文将详细介绍如何使用MATLAB来计算字符串数组中每个字符串的长度,并找出其中最长的字符串长度。这不仅有助于理解MATLAB中的基本字符串操作,而且还能提高对文本数据处理的能力。 #### 二、基础知识介绍 在开始...
用指针计算字符串长度,简单的小程序,c语言
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()...
一个JS函数,可以获取你当前输入的字符串的长度,其中中文字符和全角字符是2个长度
前言 我们在日常工作中,对于求字符串操作在shell...【方法三】:利用awk的NF项来获取字符串长度 备注: -F为分隔符,NF为域的个数,即单行字符串的长度 【方法四】:利用wc的-L参数来获取字符串的长度 备注: -L参数
### Shell脚本中计算字符串长度的五种方法...除了上述方法外,Shell脚本中还可能存在其他获取字符串长度的方式,例如使用 `sed`、`cut` 等工具结合起来实现。欢迎大家在评论区分享更多实用的技巧和建议,共同学习进步。
在VB6.0编程环境中,处理...总之,获取中文字符串长度的关键在于正确处理字符编码,特别是非ASCII字符。通过自定义函数或利用现有的库和工具,我们可以准确地计算出中文字符串的长度,从而在编程中更好地处理中文数据。
在计算机编程中,获取字符串长度是处理文本数据时一个常见的需求。本文将详细介绍并对比四种不同的方法来求解字符串长度,这四种方法包括直接调用C语言中的标准库函数`strlen()`、自行编写非递归版本的`strlen()`...
1. **字符串长度**:在易语言中,获取字符串长度的方法是使用“字符串长度”命令。例如,如果你有一个变量`str`存储了字符串,你可以使用`字符串长度(str)`来获取该字符串中字符的数量。这个数值不包括结束符,对于...
要获取字符串的长度,可以调用`length()`方法。这个方法返回字符串中字符的数量,不包括任何末尾的空格。对于`panduan`,`length()`方法将返回2,因为"你好"中有两个字符。 ```java int length = panduan.length();...
在Python中,获取字符串长度的方法非常简单,我们使用内置的`len()`函数。`len()`函数是一个非常实用的工具,不仅可以用于计算字符串的长度,还可以用于计算列表、元组、字典等数据结构的元素数量。对于字符串,它...