C# 用一个字符替换所有出现的字符
C# replace all occurrences of a character with just a character
假设我有这个字符串 "%%%%%ABC"
,我想用一个 "%"
替换所有 "%"
,所以它应该是 "%ABC"
。
如果是"%%%A%%B%%C%%"
,应该是"%A%B%C%"
我应该怎么做?
有Regex.Replace
方法的解决方法:
private static string TruncatePercents(string input)
{
return Regex.Replace(input, @"%+", "%");
}
如果您想用一个相同的非单词字符替换一个或多个非单词字符,请使用此选项。
string result = Regex.Replace(str, @"(\W)+", "");
这将对其进行排序:
string ProcessText(string s)
{
return Regex.Replace(s, @"%+", "%");
}
编辑 被打败了,所以让我的略有不同并提供不同分隔符的范围:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = ProcessText(textBox1.Text, "%", "#");
}
string ProcessText(string s, string delim, string replaceWith)
{
return Regex.Replace(s, @""+ delim + "+", replaceWith);
}
试试正则表达式。
string strTest = "%%%A%%B%%C%%";
string strPattern = "%+";
RegexOptions opt = RegexOptions.IgnoreCase;
var reg = new Regex(strPattern, opt);
var strReplaceResult = reg.Replace(strTest, "%");
结果将为“%A%B%C%”
假设我有这个字符串 "%%%%%ABC"
,我想用一个 "%"
替换所有 "%"
,所以它应该是 "%ABC"
。
如果是"%%%A%%B%%C%%"
,应该是"%A%B%C%"
我应该怎么做?
有Regex.Replace
方法的解决方法:
private static string TruncatePercents(string input)
{
return Regex.Replace(input, @"%+", "%");
}
如果您想用一个相同的非单词字符替换一个或多个非单词字符,请使用此选项。
string result = Regex.Replace(str, @"(\W)+", "");
这将对其进行排序:
string ProcessText(string s)
{
return Regex.Replace(s, @"%+", "%");
}
编辑 被打败了,所以让我的略有不同并提供不同分隔符的范围:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = ProcessText(textBox1.Text, "%", "#");
}
string ProcessText(string s, string delim, string replaceWith)
{
return Regex.Replace(s, @""+ delim + "+", replaceWith);
}
试试正则表达式。
string strTest = "%%%A%%B%%C%%";
string strPattern = "%+";
RegexOptions opt = RegexOptions.IgnoreCase;
var reg = new Regex(strPattern, opt);
var strReplaceResult = reg.Replace(strTest, "%");
结果将为“%A%B%C%”