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

时间:2013-01-20 00:28:32

标签: c# delimiter

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

因此,如果用户输入了文字:

橙红绿黄?

     *  *    *     *

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

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

2 个答案:

答案 0 :(得分: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)?" ":"*"));

答案 1 :(得分:0)

text = text.Replace(" ", "? ");