1

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

因此,如果用户输入文本:

橙红绿黄?

     *  *    *     *

我想在每个单词后面加上问号标记空格。(那些星星应该与分隔符对齐。)

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

4

2 回答 2

3
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)?" ":"*"));
于 2013-01-20T00:32:38.877 回答
0
text = text.Replace(" ", "? ");
于 2013-01-20T00:39:29.760 回答