| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:新手求教 关于字符串拼接问题
只看楼主 加入收藏
andychen911
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-17
收藏
 问题点数:0 回复次数:2 
新手求教 关于字符串拼接问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TH
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入原字符串:");
            string s = Console.ReadLine();
            Console.WriteLine("请输入你需要被替换的子字符串:");
            string s1 = Console.ReadLine();
            Console.WriteLine("请输入你需要替换成的子字符串:");
            string s2 = Console.ReadLine();
            string s3 = s.Replace(s1, "");
            int count = (s.Length - s3.Length) / s1.Length;
            Console.Write("一共需要经过");
            Console.Write(count);
            Console.WriteLine("次替换!");

            string ss1 = " ";
            for (int i = 1; i <=count; i++)
            {
            
                int a = s.IndexOf(s1);//第一个子串在原字符串中的位置
                string ss = s.Substring(0, a + s1.Length);//从第一个字符开始截取到含有第一个子串的位置结束
                s = s.Substring(a + s1.Length);//截取后剩余的字符串
               
                    ss1 = ss.Replace(s1, s2);
                    char[] r = ss1.ToCharArray();

                    Console.WriteLine(ss);
                    Console.WriteLine(s);
                    Console.WriteLine(ss1);
            }
        }
    }
}
小弟刚学C# 现在遇到一个问题 算是很简单的 可是转不过来弯 求大侠帮忙 如上述程序代码 目地就是通过字符串查找 截取 替换来实现一个字符串中制定字符串的替换 比如键盘输入“12abc34abc56abcjk” 然后我要把"abc"替换成“m” 使最后结果变成“12m34m56mjk” 具体方法我已经基本实现了 但是最后我需要把每次得到的ss1拼接起来 但是每次我得到的最后结果只是最后一次替换的 比如我举得这个例子要循环3次实现最终替换 可我得到的只是56mjk 而不是12m34m56mjk 坐等高手 谢谢了
搜索更多相关主题的帖子: class 拼接 字符串 
2012-03-17 18:59
andychen911
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-3-17
收藏
得分:0 
对了 还有就是我的代码里面  Console.Write("一共需要经过");
                           Console.Write(count);
                           Console.WriteLine("次替换!");
可不可以一句代码实现Console.WriteLine("一共需要count次替换");

另外我的思路是把每次得到的ss1转换成字符数组char[] r = ss1.ToCharArray();然后遍历输出,可是也得不到我想要的结果 不知道哪里弄错了
2012-03-17 19:10
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
收藏
得分:0 
程序代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TH
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入原字符串:");
            string s = Console.ReadLine();
            Console.WriteLine("请输入你需要被替换的子字符串:");
            string s1 = Console.ReadLine();
            Console.WriteLine("请输入你需要替换成的子字符串:");
            string s2 = Console.ReadLine();
            string s3 = s.Replace(s1, "");
            int count = (s.Length - s3.Length) / s1.Length;
            Console.Write("一共需要经过");
            Console.Write(count);
            Console.WriteLine("次替换!");

            string ss1 = "";
            for (int i = 1; i <=count; i++)
            {
             
                int a = s.IndexOf(s1);//第一个子串在原字符串中的位置
                string ss = s.Substring(0, a + s1.Length);//从第一个字符开始截取到含有第一个子串的位置结束
                s = s.Substring(a + s1.Length);//截取后剩余的字符串
               
                    ss1 += ss.Replace(s1, s2);
                    //char[] r = ss1.ToCharArray();

                    Console.WriteLine(ss);
                    Console.WriteLine(s);
                    Console.WriteLine(ss1+s);
            }
            Console.WriteLine("一共需要" + count.ToString() + "次替换");
        }
    }
}


[ 本帖最后由 wypdragon 于 2012-3-18 16:20 编辑 ]
2012-03-18 16:13
快速回复:新手求教 关于字符串拼接问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026601 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved