c# - c# 中的正则表达式找到字母然后\用大写字母作为字母和 Shift 按下其他字符的形式?

标签 c# .net regex string

我想转换一个字符串 m\anoj ku\mar m\a\nojManoj kUmar MAnoj 我如何使用 C# 执行此操作

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

分配给 repPattern 的是什么?得到结果

最佳答案

尝试以下操作:

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);

关于c# - c# 中的正则表达式找到字母然后\用大写字母作为字母和 Shift 按下其他字符的形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18328375/

相关文章:

C#: "Obsolete"函数和 "Deprecated"函数有什么区别?

.net - Windows 安装程序 : Error 1001, CustomAction _xxxxx.install 返回实际错误代码 1603

javascript - 使用 JavaScript 通过多行获取最近的匹配项

c# - 如何最好地管理 SMTP 客户端

c# - 组合框的 SelectedValue 不反射(reflect)传递给空项时的更改

c# - Mysql 备份超时过期 - C#

c# - 如果我有 _full_ 绝对 uri,如何获取对 Azure blob/文件的 GetFileReference?

.net - c#中Exception类的使用

regex - 在 bash 中使用正则表达式查找文件

javascript - 如何在 Javascript 中将 HTML 标签内的内容(仅)获取到单层?