c#取出指定长度字符的简易方法

本文介绍了一种用于从字符串中获取指定长度子串的方法,并考虑了不同字符宽度的影响。通过使用StringBuilder和字符数组,该方法能够有效地处理各种字符类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public string GetSubString(string str, int len)
        {
            
int charLen = str.Length;
            
if(charLen*2<=len)//如果总的占位小于len则直接返回
            {
                
return str;
            }
            
if(charLen>len)//如果字符数大于len则只取前len来运算
            {
                str 
= str.Substring(0,len);
                charLen 
= len;
            }
            StringBuilder resultStrBuilder 
= new StringBuilder();;
            
char[] charArray=str.ToCharArray();

            
int curLen = 0;
            
for(int i = 0;i<charLen;i++)
            {
                
if(curLen>=len)
                {
                    
break;
                }
                
if(Convert.ToInt32(charArray[i])>255)
                {
                    curLen 
= curLen+2;
                    
                }
                
else
                {
                    curLen 
= curLen+1;
                }
                resultStrBuilder.Append(charArray[i]);
                                                
                                               
            }
            
return resultStrBuilder.ToString();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值