业务场景:Oracle数据字符集UTF-8,字段类型为VARCHAR2(2000)。当插入字符串的字节长度超过2000时,就会报错,使用subString(0,2000)当字符串包含中文时,也会报错,又不能直接只截取1000长度。所以需要一个根据字节长度来截取字符串的方法。 下面提供一下 ...
默认的截取字符串都是根据字符长度或位置截取的,典型的两个方法是substr和substring。 这样导致的问题是截取同样长度的字符串时,多字节字符 汉字等 和单字节字符 半角英文字母 半角数字 占的位置长度差距较大,视觉上不太美观,比如同样是 个字符: param str 要截取的字符串 param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节 return 截取后的字符串 fun ...
2018-04-16 19:12 0 1486 推荐指数:
业务场景:Oracle数据字符集UTF-8,字段类型为VARCHAR2(2000)。当插入字符串的字节长度超过2000时,就会报错,使用subString(0,2000)当字符串包含中文时,也会报错,又不能直接只截取1000长度。所以需要一个根据字节长度来截取字符串的方法。 下面提供一下 ...
/// <summary> /// 按指定(字节)长度截取字符串 /// </summary> /// <param name="str">源字符串</param> ...
Web应用程序在浏览器中显示字符串时,由于显示长度的限制,常常需要将字符串截取后再进行显示。但目前很多流行的语言,如C#、Java内部采用的都是 Unicode 16(UCS2)编码,在这种编码中所有的字符都是两个字符,因此,如果要截取的字符串是中、英文、数字混合的,就会产生问题,如下面的字符串 ...
直接上代码: /** * 按字节长度截取字符串 * @param {String} str 要截取的字符串 * @param {Number} L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节 */ export const cutStr = (str, L) => ...
public static String subStr(String str, int subSLength) { String subStr =""; try ...
...
import java.io.UnsupportedEncodingException;import org.springframework.util.StringUtils; public class CutString{ /** *判断是否是一个中文汉字 *@param c 字符 ...