将字符串中的所有字符转换为“*”

时间:2013-12-18 06:35:42

标签: c# asp.net .net regex

问题: 我有一个字符串说:"I am a boy"

我需要一个正则表达式,将字符串中的所有字符转换为"*"

提前致谢。

7 个答案:

答案 0 :(得分:6)

或者你可以在没有正则表达式的情况下做到这一点:

var s = "I am a boy";

var q = new string('*', s.Length);

答案 1 :(得分:2)

不是正则表达式,但是如何;

String input = "I am a boy";
String result = new String('*', input.Length);

答案 2 :(得分:2)

如果要替换包含空格的每个字符,可以使用以下内容。点.将匹配任何字符(except newline)。

string input  = "I am a boy";
string output = Regex.Replace(input, ".", "*");
// => "**********"

如果您想避免替换空格,可以使用匹配任何非空格字符的\S

string input  = "I am a boy";
string output = Regex.Replace(input, "\\S", "*");
// => "* ** * ***"

答案 3 :(得分:2)

因为每个人都去了\ w \ s我会建议一个替代方案。

var r = new Regex("[A-Za-z0-9]");
var s = r.Replace("I am a boy", "*");

这与其他建议的方法类似,但如果你想要留下一些角色或其他东西,可以给你更多控制。

答案 4 :(得分:0)

使用Regex class和匹配所有空格和单词字符的正则表达式表达式(双关语)。

var s = "I am a boy";

var regex = new Regex("[\\w\\s]");

var q = regex.Replace(s,"*");

答案 5 :(得分:0)

编辑:

假设OP不希望white spaces替换为*

1)这可行:[a-zA-z0-9]

var str = "I am a boy";
var regex = new Regex(@"[a-zA-z0-9]");
var result = regex.Replace(str,"*");

输出:* ** * *** Regex Demo

2)也用于替换空格:[\\w\\s]

var str = "I am a boy";
var regex = new Regex(@"[\w\s]");
var result = regex.Replace(str,"*");

输出:********** Regex Demo

OR

var str = "I am a boy";
var result = new String('*', str.Length);

答案 6 :(得分:0)

试试这个正则表达式

Regex.Replace("I AM A BOY", "[\w\\s]", "*")

它将为您提供类似* ** * ***

的OP