using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;
StreamReader sr = new StreamReader("d:\test.txt", Encoding.Default);
StringBuilder sb = new StringBuilder(sr.ReadToEnd());
sr.Close();
StreamWriter sw;
sw = new StreamWriter("d:\test.txt", false, Encoding.UTF8);
string resultsb = sb.ToString();
string resultsbw = "";
resultsbw = Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
sw.Write(resultsbw.ToString());
sw.Close();
this.Text = f;
Thread.Sleep(1);test.txt文本文件里面的内容为"test.asp?id=$id$"
text1.Text我设的为asp?id=$id$
text2.Text我设的为xxxasp?id=$id$xxx可结果不是不替换就是替换的时候加几次原来内容,后来查了查是特殊符号?和$符号的原因,但是我不知道该如何解决。麻烦来个高手教我怎么处理一下。拜托了。C#String
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;
StreamReader sr = new StreamReader("d:\test.txt", Encoding.Default);
StringBuilder sb = new StringBuilder(sr.ReadToEnd());
sr.Close();
StreamWriter sw;
sw = new StreamWriter("d:\test.txt", false, Encoding.UTF8);
string resultsb = sb.ToString();
string resultsbw = "";
resultsbw = Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
sw.Write(resultsbw.ToString());
sw.Close();
this.Text = f;
Thread.Sleep(1);test.txt文本文件里面的内容为"test.asp?id=$id$"
text1.Text我设的为asp?id=$id$
text2.Text我设的为xxxasp?id=$id$xxx可结果不是不替换就是替换的时候加几次原来内容,后来查了查是特殊符号?和$符号的原因,但是我不知道该如何解决。麻烦来个高手教我怎么处理一下。拜托了。C#String
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
等号也要转义。
老大加不了@读的是文本,写这么一大段代码我都懒得看,把问题描述清楚也不难吧还可以用xml那种啥格式的转换,如:& -> &
老大加不了@读的是文本,写这么一大段代码我都懒得看,把问题描述清楚也不难吧还可以用xml那种啥格式的转换,如:& -> &不懂。
Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
txt1.Text如何加@啊。基础不好。麻烦啦。
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
等号也要转义。Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
txt1.Text如何加@啊。基础不好。麻烦啦。
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
等号也要转义。Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
txt1.Text如何加@啊。基础不好。麻烦啦。你可以忽略那个人说的话了,谢谢。
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
等号也要转义。Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
txt1.Text如何加@啊。基础不好。麻烦啦。你可以忽略那个人说的话了,谢谢。
那有没有办法不加\进行转义。这要是字符多的话我岂不得全部都得加\一个一个的加多累了。。
直接用string.replace就好了。。
是这样吗?asp\?id=\$id\$
?和$符号前面都加上\
等号也要转义。Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
txt1.Text如何加@啊。基础不好。麻烦啦。你可以忽略那个人说的话了,谢谢。版主麻烦有时间帮我看看MONO那个帖子的问题!!!!!
那是版主说的老大,不要冤枉我呀string.replace肯定是没有问题。关键是正则这里不知道怎么处理。
那是版主说的老大,不要冤枉我呀string.replace肯定是没有问题。关键是正则这里不知道怎么处理。脑子想着版主,手上却打了楼主,呵呵
麻烦你先在网上找找《正则表达式30分钟入门》这个文章来看看!!!(我当年看了最少用一个上午)
这样的基础横冲直撞,大家说了也白说啊
那是版主说的老大,不要冤枉我呀string.replace肯定是没有问题。关键是正则这里不知道怎么处理。脑子想着版主,手上却打了楼主,呵呵
麻烦你先在网上找找《正则表达式30分钟入门》这个文章来看看!!!(我当年看了最少用一个上午)
这样的基础横冲直撞,大家说了也白说啊别啊,这个我日后再看。我现在就是想知道
text1.Text="asp?id=$id$"
下面这一句该怎么写?
Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
写成这样可以吗?Regex.Replace(resultsb, @(txt1.Text), txt2.Text, RegexOptions.IgnoreCase);
还是该怎写?text1.Text="asp?id=$id$"不能变,因为是读的控件里面的字符串。就是正则该怎么写你告诉我就行了。
Regex.Replace(resultsb, @“+txt1.Text+”, txt2.Text, RegexOptions.IgnoreCase);
是不是这样写啊?
那是版主说的老大,不要冤枉我呀string.replace肯定是没有问题。关键是正则这里不知道怎么处理。脑子想着版主,手上却打了楼主,呵呵
麻烦你先在网上找找《正则表达式30分钟入门》这个文章来看看!!!(我当年看了最少用一个上午)
这样的基础横冲直撞,大家说了也白说啊别啊,这个我日后再看。我现在就是想知道
text1.Text="asp?id=$id$"
下面这一句该怎么写?
Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
写成这样可以吗?Regex.Replace(resultsb, @(txt1.Text), txt2.Text, RegexOptions.IgnoreCase);
还是该怎写?text1.Text="asp?id=$id$"不能变,因为是读的控件里面的字符串。就是正则该怎么写你告诉我就行了。人家版主都叫你忽略我上面的话了。
你自己不去看看一些入门的东西真的没法教
要用正则表达式的话,必须改的是匹配项,貌似就是第一个
-_-
那是版主说的老大,不要冤枉我呀string.replace肯定是没有问题。关键是正则这里不知道怎么处理。脑子想着版主,手上却打了楼主,呵呵
麻烦你先在网上找找《正则表达式30分钟入门》这个文章来看看!!!(我当年看了最少用一个上午)
这样的基础横冲直撞,大家说了也白说啊别啊,这个我日后再看。我现在就是想知道
text1.Text="asp?id=$id$"
下面这一句该怎么写?
Regex.Replace(resultsb, txt1.Text, txt2.Text, RegexOptions.IgnoreCase);
写成这样可以吗?Regex.Replace(resultsb, @(txt1.Text), txt2.Text, RegexOptions.IgnoreCase);
还是该怎写?text1.Text="asp?id=$id$"不能变,因为是读的控件里面的字符串。就是正则该怎么写你告诉我就行了。人家版主都叫你忽略我上面的话了。
你自己不去看看一些入门的东西真的没法教
要用正则表达式的话,必须改的是匹配项,貌似就是第一个
-_-我试了一下。好像版主说得对着呢。@就是不行。哈哈,睡觉去了。明天再说。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
StreamReader sr = new StreamReader("d:\\test.txt", Encoding.Default);
StringBuilder sb = new StringBuilder(sr.ReadToEnd());
sr.Close();
StreamWriter sw;
sw = new StreamWriter("d:\\test.txt", false, Encoding.UTF8);
string resultsb = sb.ToString();
string resultsbw = "";
//string t1 = "asp\\?id\\=\\$id\\$";
string t1 = @"asp?id=$id$";
string t2 = "xxxasp?id=$id$xxx";
resultsbw = Regex.Replace(resultsb, t1, t2, RegexOptions.IgnoreCase);
sw.Write(resultsbw.ToString());
sw.Close();
//this.Text = f;
Thread.Sleep(1);
Console.WriteLine(resultsbw); }
}
}@的就没有执行。//的就执行替换了。。