我试图弄清楚如何在用户输入的文本字符串中记录分隔符的位置。
因此,如果用户输入文本:
橙红绿黄?
* * * *
我想在每个单词后面加上问号标记空格。(那些星星应该与分隔符对齐。)
我知道如何在字符串中搜索某个字符或一组字符,但不知道如何将其标记为在下一行接收星号。
string input = "orange red green yellow?";
List<int> indexes = Regex.Matches(input, @"[^\w]+").Cast<Match>()
.Select(m => m.Index)
.ToList();
或者如果你想用*
var output = Regex.Replace(input, @"[^\w]+","*");
编辑
var output = String.Join("",input.Select(c => char.IsLetter(c)?" ":"*"));
text = text.Replace(" ", "? ");