在字符串中查找分隔符并标记该位置



我想弄清楚如何记录用户输入的文本字符串中分隔符的位置。

所以如果用户输入text:

橙红绿黄?

     *  *    *     *

我想用问号标记每个单词后面的空格。(这些星号应该与分隔符对齐。)

我知道如何在字符串中搜索某个字符或一组字符,但不知道如何标记它以在下一行接收星号。

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(" ", "? ");

最新更新