将字符串中的所有字符转换为“*”
本文关键字:转换 字符 字符串 | 更新日期: 2024-10-30 14:16:03
问题:我有一个字符串说:"I am a boy"
.
我需要一个正则表达式将字符串中的所有字符转换为"*"
.
提前谢谢。
或者你可以在没有正则表达式的情况下做到这一点:
var s = "I am a boy";
var q = new string('*', s.Length);
不是正则表达式,而是怎么样;
String input = "I am a boy";
String result = new String('*', input.Length);
由于每个人都选择了''w ''s,我会建议一个替代方案。
var r = new Regex("[A-Za-z0-9]");
var s = r.Replace("I am a boy", "*");
这的工作方式与其他建议的正则表达式类似,但如果你想省略一些字符或其他东西,可以给你更多的控制权。
如果要
替换包括空格在内的每个字符,可以使用以下内容。点.
将匹配任何字符 ( 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", "*");
// => "* ** * ***"
使用正则表达式类和匹配所有空格和单词字符的正则表达式表达式(双关语)。
var s = "I am a boy";
var regex = new Regex("[''w''s]");
var q = regex.Replace(s,"*");
试试这个正则表达式
Regex.Replace("I AM A BOY", "['w''s]", "*")
它会给你像* ** * ***
一样的OP
编辑:
假设 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,"*");
输出:* ** * ***
正则表达式演示
2)对于替换空格也: [''w''s]
var str = "I am a boy";
var regex = new Regex(@"['w's]");
var result = regex.Replace(str,"*");
输出:**********
正则表达式演示
或
var str = "I am a boy";
var result = new String('*', str.Length);