-5

文字列の制限を検索し、各単語に制限で指定された文字(たとえば、char l)を挿入する関数を作成する必要があります[insert - l] some text [/insert]。[挿入-l][/挿入]の間のすべてを検索する必要があると思います。ランダムな位置で各単語に文字を配列して配置しますが、私の知識はそれを書くのに十分ではありません。助けてください=\

例:

Musgrave was [insert - l] selected as a scientist-astronaut [/insert] by NASA in August 1967. 

関数の後、私は取得する必要があります:

Musgrave was sellected als a scilentist-astrlonaut by NASA in August 1967.
4

1 に答える 1

2

私が罰の大食いだからです。これがあなたが求めていたものの私の推測です。

var random = new Random();
string bigBlockOfText = @"blah blah [insert - l] some text [/insert] blah blah blah [insert - q] different text[/insert].";
var reg = new Regex(@"\[insert \- (?<char>.)\](?<text>.+?)\[/insert\]");
var matches = reg.Matches(bigBlockOfText);
for (int i = matches.Count - 1; i >= 0; i--)
{
    var match = matches[i];
    bigBlockOfText = bigBlockOfText.Remove(match.Index, match.Length);
    var replace = match.Groups["text"].Value;
    var insert = match.Groups["char"].Value;
    replace = replace.Insert(random.Next(replace.Length), insert);
    bigBlockOfText = bigBlockOfText.Insert(match.Index, replace);
}
于 2012-12-20T20:36:34.850 に答える