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

本文关键字:转换 字符 字符串 | 更新日期: 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);