| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1783 人关注过本帖
标题:用C#写的一个替换函数
取消只看楼主 加入收藏
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:7 
用C#写的一个替换函数

今天因程序的需要写了一个替换函数
但始终感觉不太好.

听说正则表达式可以实现这种功能,而且非常简单.
但由于对正则完全不熟,还请高人指教.


//替换函数
public string replace(string str1,string str2,string str3)
{
char[] sourceValues = str1.ToCharArray();
char[] oldValues = str2.ToCharArray();
char[] newValues = str3.ToCharArray();
int beginSign = 0;
int endSign = 0;
string returnValues = "";
string strNew = "";
for (int i = 0; i < newValues.Length; i++)
{
strNew += newValues[i];
}
for (int i = 0; i < sourceValues.Length; i++)
{
for (int j = 0; j < oldValues.Length && i<sourceValues.Length; j++,i++)
{
if (sourceValues[i] == oldValues[j])
{
}
else
{
break;
}
if (j == oldValues.Length - 1)
{
beginSign = i - j;
endSign = i;
string temp1 = "";
string temp2 = "";
for (int k = 0; k < beginSign; k++)
{
temp1 += sourceValues[k];
}
for (int k = endSign + 1; k < sourceValues.Length; k++)
{
temp2 += sourceValues[k];
}
string newSourceValues = temp1 + strNew + temp2;
sourceValues = newSourceValues.ToCharArray();
i--;
}
}
}
for (int i = 0; i < sourceValues.Length; i++)
{
returnValues += sourceValues[i];
}
return returnValues;
}
搜索更多相关主题的帖子: 函数 string 正则 int public 
2006-08-11 17:18
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

用正则我也不知道,就是上来向高手请教的.

听说还可以用正则截取字符串之间的子串,也不知道怎么实现

期待高手的出现....

[此贴子已经被作者于2006-8-11 17:26:28编辑过]


2006-08-11 17:24
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 
譬如把"中国共产党"中的"中国"替换成"中华人民共和国"

2006-08-11 17:34
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

C#里面有这个函数???


2006-08-11 17:38
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 
呵呵,郁闷死了..

那不知道有没有这个功能??

把"我爱编辑论坛"中"我爱"与"论坛"之间的字符串提取出来?

2006-08-11 17:44
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

这个函数必须要知道开始位置和长度才得了嘛?

如果是"abcdefghijklmnopqrstuvwxyz"
取出"jkl"与"tuv"之间呢?


2006-08-11 17:54
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 
提示以下错误

索引和长度必须引用该字符串内的位置。
参数名: length

2006-08-11 18:01
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

搞定
非常感谢!!!


2006-08-11 18:16
快速回复:用C#写的一个替换函数
数据加载中...
 
   



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

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