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

具體要實現甚麼
可以說出來麼


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-11 17:23
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

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

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

期待高手的出现....

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


2006-08-11 17:24
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

具體要實現甚麼
麻煩請說出來

ps:複雜邏輯用正則是很痛苦的


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-11 17:30
夜空的星星
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-17
收藏
得分:0 

用正则表达式是可以,但是你想实现什么,我试过你的程序,还是不知道replace了什么


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

2006-08-11 17:34
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
直接replace("中國","中华人民共和国")
不是更快

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-11 17:37
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 

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


2006-08-11 17:38
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
昏倒

當然有

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-11 17:41
chelcf
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-4-20
收藏
得分:0 
呵呵,郁闷死了..

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

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

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



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

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