C# 按指定(字节)长度截取字符串

/// <summary>

/// 按指定(字节)长度截取字符串

/// </summary>

/// <param name="str">源字符串</param>

/// <returns>string</returns>

private string CutStringByte(string str)

{

if (string.IsNullOrEmpty(str))

{

return "";

}

if (System.Text.Encoding.Default.GetByteCount(str) < 48)

{

return str;

}

int i = 0;//字节数

int j = 0;//实际截取长度

foreach (char newChar in str)

{

if ((int)newChar > 127)

{

//汉字

i += 2;

}

else

{

i++;

}

if (i < 48)

j++;

else

break;

}

str = str.Substring(0, j) + "...";

return str;

}

时间: 2024-12-21 03:39:18

C# 按指定(字节)长度截取字符串的相关文章

按字节长度截取字符串

有时我们需要按照字节长度来截取字符串,但是又不希望把中文给截取散.下面提供一下utf-8的截取方法: /** * 按字节长度截取字符串 * @param orgin 需要截取的字符串 * @param length 字节长度 * @param charsetName 编码 * @return 截取后的字符串 */public static String subStringb(String orgin, int length, String charsetName) { String result

js按字节长度截取字符串

直接上代码: /** * 按字节长度截取字符串 * @param {String} str 要截取的字符串 * @param {Number} L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节 */ export const cutStr = (str, L) => { var result = '' var strlen = str.length // 字符串长度 var chrlen = str.replace(/[^x00-\xff]/g, '**').length // 字节长

Java按照字节来截取字符串的工具,不会出现半个汉字

原文:Java按照字节来截取字符串的工具,不会出现半个汉字 源代码下载地址:http://www.zuidaima.com/share/1550463396842496.htm Java 按照字节来截取字符串的工具,不会出现半个汉字.一个中文两个字节,一个英文字符只占 1 个字节 1. 通常我们用于前端显示的时候,防止标题过长.... /* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.com

C#中如何按字节数截取字符串?

今天要截取一个文档,发现C#中substring默认是将汉字当一个字节来截取的,但是我需要把汉字按照2个字节来算. 比如: str="雪洁hello" 我想要前5个字节的字符,也就是"雪洁h". 如何处理? C#中substring默认是将汉字当一个字节来截取的,那么如何按字节数截取字符串? 答案: using System; using System.Collections.Generic; using System.Web; using System.Web.U

银行卡号,指定字符长度分割字符串

每隔指定字符长度分割字符串,可以制作银行卡号格式化提示功能.利用正则替换实现.js代码如下; <script type="text/javascript"> console.log( "548481554521515454848798921258740".replace(/(\d{4})(?=\d)/g,"$1"+"-") ) </script>

python按照指定字符或者长度 截取字符串

1.截取指定位置字符串 Python字符串可以理解为一个数组,获取某一部分的可以使用 str[beginIndex:endPosition],其中str为需要截取的字符串,beginIndex为需要截取的第一个字符的下标,endPosition为截取字符最后一个的位置,注意是下标和位置(下面示例),下标+1=位置:beginIndex,endPosition都可以不写,不写的情况默认第一个或者最后一个: 正常示例: a = "Hello" print "a[1:4] 输出结果

按指定长度截取字符串

import java.util.ArrayList; import java.util.List; public class StringUtils { /** * 给定一个长字符串内容,返回一个数组 * * @param content * 所有的内容 * @param count * 需要每段截取的长度 * @return 所有分段的数组list / public static List getListFromContent(String content, int count) { Lis

按照指定显示长度切割字符串

这两天工作过程中处理TextView显示文字的时候遇到一个需求,需要把字符串切割成等长的几段,按照指定长度,多余的换行显示,于是做了以下小算法,写下以记之! public static String getChangedString(String inputString, int byteLength) { char[] chars = inputString.toCharArray(); char[] workChars = new char[chars.length * 2]; // i为工

字节数截取字符串

public class ByteSub { public static void subString(String str, int a) { int bytes = 0; String result = ""; for (int x = 0; x < str.length(); x++) { byte[] b = (str.charAt(x) + "").getBytes(); bytes += b.length; if (bytes > a) {