编写一个截取字符串的函数
来源:互联网 发布:sql networkdays 编辑:程序博客网 时间:2024/05/21 08:56
题目:写一个函数,要求有2个参数,1个为字符串,1个为字节数,返回截取的字符串。
要求字符串中的中文不能出现乱码:如(“我ABC”,4)应该截为"我AB",输入(“我ABC汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。
主要代码如下:
class Program {/*写一个函数,2个参数,1个字符串,1个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码: 如(“我ABC”,4)应该截为“我AB”,输入(“我ABC汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。*/ /// <summary> /// 截取字符串的方法 /// </summary> /// <param name="str"></param> /// <param name="index"></param> /// <returns></returns> public static string SubString(string str, int index) { int length = 0; //用来存储截取的字符串 string strWords = ""; for (int i = 0; i < str.Length; i++) { //判断字符串的长度是否小于要截取的长度 if (length < index) { //在ASCII码表中,英文的范围是0-127,而汉字则是大于127 //判断是否为汉字 if ((int)str[i] > 127) { //判断汉字是否为最后一个字符 if (index - length > 1) { length += 2; strWords += str[i]; } else { //最后一个字符为汉字,字符串长度加1,字符舍去 length += 1; } } else //不是汉字 { length += 1; strWords += str[i]; } } } return strWords; } static void Main(string[] args) { Console.WriteLine("请输入一句话:"); string input = Console.ReadLine(); Console.WriteLine("请输入要截取的位数:"); int total = Convert.ToInt32(Console.ReadLine()); //截取字符串 string SubStringWords = SubString(input, total); Console.WriteLine(SubStringWords); Console.ReadKey(); } }
本做法虽然麻烦,但思路清晰。
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 编写一个截取字符串的函数
- 3.编写一个截取字符串的函数
- 编写一个截取字符串的函数,按字节截取
- java 面试中的一道编写一个截取字符串的函数!!!!
- java 面试中的一道编写一个截取字符串的函数!!!!
- java 面试中的一道编写一个截取字符串的函数
- java 面试中的一道编写一个截取字符串的函数
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
- Java编写截取字符串的函数
- java编写截取字符串的函数
- 关于 java.util.concurrent 您不知道的 5 件事,第 1 部分
- 安卓 view.setOnTouchListener为什么检测不到move呢
- WHU 2013 Summer Team Contest #14 - NEERC 2009 subregional [xioumu]
- Yahoo前端优化十四条军规
- MATLAB导出高清晰图片
- 编写一个截取字符串的函数
- windows编译tomcat
- 关于 java.util.concurrent 您不知道的 5 件事,第 2 部分
- SI3.5添加新的文件类型
- 编译PyQt
- 关于多线程编程您不知道的 5 件事
- eclipse 下android的学习
- [20130827]A Short History of Nearly Everything[serial]
- MySQL上下线等级关系查询