黑马程序员技术交流社区
标题:
截取字符串
[打印本页]
作者:
芦路
时间:
2013-11-1 09:34
标题:
截取字符串
本帖最后由 芦路 于 2013-11-1 17:36 编辑
怎么定义一个方法 参数就是截取字符串的长度之类的 比方说111222333,就是每三个截取一次 怎么弄啊
作者:
蒋东东
时间:
2013-11-1 10:56
问题不是很明白。是这个意思么?
<p>class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
string input = Console.ReadLine();
Console.WriteLine("请输入平均截取字符串个数:");
int n = Convert.ToInt32(Console.ReadLine());
string[] results = NewSubString(input, n);
Console.WriteLine("截取结果:");
foreach (string res in results)
{
Console.WriteLine(res);
}
Console.ReadKey();
}
/// <summary>
/// 根据截取个数截取字符串
/// </summary>
/// <param name="str">所截取的字符串</param>
/// <param name="n">截取个数</param>
/// <returns></returns>
static string[] NewSubString(string str, int n)
{
List<string> result = new List<string>();
string remainStr = str;
while (true)
{
//不足截取个数的剩余字符串则表示最后一个
if (remainStr.Length < n)
{
result.Add(remainStr);
break;
}
//截取剩余字符串的前n个
string subStr = remainStr.Substring(0, n);
result.Add(subStr);
//截取后的剩余字符串
remainStr = remainStr.Substring(n);
}
return result.ToArray();
}
}</p><p> </p>
复制代码
无标题.png
(27.64 KB, 下载次数: 41)
下载附件
2013-11-1 10:55 上传
作者:
夢醒了⊙﹏⊙b心
时间:
2013-11-1 11:55
首先顶一个字符串
获取截取的字符串长度
调用PrintString()
Public void PrintString(string strInput,int num)
{
for(int i=strInput.Length-1;i>=0;i--)
{
if(i!=0&&i%num==0)
{
Console.Write(strInput[i]+"\t");
}
}
Console.ReadKey();
}
作者:
猫咪不吃糖
时间:
2013-11-1 14:32
static void Main(string[] args)
{
string str = "111233444";
string str1, str2;
str1 = str.Substring(0, 3);
str2 = str.Substring(3);
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
复制代码
作者:
佟嘉豪
时间:
2013-11-1 14:48
我来简单说一下:
这个用函数递归,比较好实现
声明一个函数 参数为字符串
1、判断字符串的长度
1)if >3 {
则substring(0,3)
输出
获取(3+1)的字符串
再次调用这个函数
}
else
直接输出
作者:
黑飞马
时间:
2013-11-1 17:27
class Program
{
static void Main(string[] args)
{
string str = "abcdefghijklmnopqrstuvwxyz";
string[] strs = getStringPat(str, 3);
Console.WriteLine("原字符串是"+str);
Console.Write("截取后的字符分别是:");
for (int i = 0; i < strs.Length; i++)
{
Console.Write(strs
+"\t");
}
Console.ReadKey();
}
/// <summary>
/// 截取固定长度的字符串
/// </summary>
/// <param name="str">要截取的字符串</param>
/// <param name="num">每段有多少个字符</param>
/// <returns>截取后的每段字符</returns>
static string[] getStringPat(string str,int num)
{
int duanshu = str.Length / num
;//计算能截取多少段
//其实我不是用的截取。而是变相的用了一下插入,在num个数后插入一个逗号,然后再用split方法,截取字符串
//其中i表示第几段。从0开始,换句话说就是我要插入几个逗号
for (int i = 0; i < duanshu; i++)
{
int index=(i * (num + 1))+num
;//这是要插入逗号的位置
str = str.Insert(index, ",");//
插入
}
string[] strs = str.Split(','
);//分割字符串
return strs;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2