Dart:使用regxp将字符串中的每个字母替换为星号

kzmpq1sx  于 2023-02-27  发布在  其他
关注(0)|答案(4)|浏览(132)

我试图用Dart将字符串中的每个字母替换为星号,但遇到了一些困难。在Javascript中是:

'test'.replace(/./g, '*');

所以在Dart中,我尝试了以下方法:

'test'.replaceAll(new RegExp(r'/.'), '*');
'test'.replaceAll(new RegExp(r'\/.'), '*');
'test'.replaceAll(new RegExp(r'/./'), '*');
'test'.replaceAll(new RegExp(r'\/.\/'), '*');

我显然不太明白这应该如何工作,因为似乎不能使这工作。
有谁能提供一个简短的解释,告诉我们正确的方法吗?
谢谢。

juzqafwq

juzqafwq1#

var regex = RegExp(r'[a-zA-Z]');
var replaced = 'some string / with \$ other = chars'.replaceAll(regex, '*');

DartPad example

dnph8jn4

dnph8jn42#

不用正则表达式我得到了一个解决方案

Text('*' * subText.length)
lsmepo6l

lsmepo6l3#

要将string中除spaces之外的所有字符替换为asterisk,可以使用正则表达式模式[^ ],它匹配除空格之外的任何字符。

String originalString = 'Hello, world! \$123';
String replacedString = originalString.replaceAll(RegExp(r'[^ ]'), '*');

print(replacedString);
qrjkbowd

qrjkbowd4#

适用于需要删除给定字符串中的特殊字符和其他字母的任何人。请使用以下格式。

String str = "a12.334tyz.78x";
  
  var newStr = str.replaceAll(new RegExp(r'[a-zA-Z.]'), ''); 
  print(newStr);

结果1233478

*** dart 垫***https://dartpad.dev/

相关问题