3

c#を使用してこれを行う方法のようm\anoj ku\mar m\a\noj な 文字列を変換したい Manoj kUmar MAnoj

string convert(string text)
{
  string pattern = @"$1\\";
  string repPattern =@"";
  string returnText = Regex.Replace(text, repPattern, pattern);
  return returnText;
}

repPattern には何が割り当てられていますか? 結果を得る

4

1 に答える 1

4

以下を試してください:

var input = @"m\anoj ku\mar m\a\noj";
var pattern = new Regex(@"([a-z])\\");
var replaced = pattern.Replace(input, m => m.Groups[1].ToString().ToUpper());
Console.WriteLine(replaced);

アップデート

数字を Shift キーを押した形式にマップします。

string text= @"m\an1oj ku\mar m\a\no9j";
char[] shiftPressForms = ")!@#$%^&*(".ToCharArray();
Regex pattern = new Regex(@"([a-z])\\");
Regex pattern_digit = new Regex(@"\d");
string replaced = pattern.Replace(text, m => m.Groups[1].ToString().ToUpper());
replaced = pattern_digit.Replace(replaced, m => shiftPressForms[int.Parse(m.Value)].ToString());
Console.WriteLine(replaced);
于 2013-08-20T06:35:54.467 に答える