问题:
我有一个字符串说:"I am a boy"
。
我需要一个正则表达式,将字符串中的所有字符转换为"*"
。
提前致谢。
答案 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]", "*")
它将为您提供类似* ** * ***