我写了一个正则表达式,希望我能够将每个匹配(只有一个字符)替换为大写字母.我正在使用EditPad Pro(但是我愿意使用任何其他工具来允许我这样做,只要它可以免费试用,因为我只需要这样做一次).
背景:我有一个案例敏感应用程序使用的非常长的文本文件,有些单词以小写字母而不是大写字母开头,从而导致应用程序崩溃.这需要很长时间才能完成,并且没有正则表达式会很复杂,因为(邪恶的)小写字母char的出现非常具体.
我已经写了选择正则表达式,现在我可以使用它与反向引用($ 1工作得很好)但是我不能用大写字母替换它.我认为\ u $ 1会起作用,但是在EditPad Pro中却没有.
如果没有免费工具允许我这样做,我想替代方法就是在C#中做它但是我有点急,而不是靠近编译器,所以我必须先下载快递版,所以...最好找一个支持这种功能的工具!
谢谢!
我使用它#(\s|^)([a-z0-9-_]+)#i来为每个单词的每个首字母大写,我希望它也可以大写字母,如果它是在一个特殊标记之后,如破折号( - )
现在它显示:
This Is A Test For-stackoverflow
Run Code Online (Sandbox Code Playgroud)
我想要这个:
This Is A Test For-Stackoverflow
Run Code Online (Sandbox Code Playgroud)
对我有什么建议/样品吗?
我不是专业人士,所以尽量让我理解.
我必须将用户输入的每个单词的第一个字母转换为大写.我不认为我做得对,所以它不起作用,但我不确定哪里出错了D:提前感谢您的帮助!^^
static void Main(string[] args)
{
Console.Write("Enter anything: ");
string x = Console.ReadLine();
string pattern = "^";
Regex expression = new Regex(pattern);
var regexp = new System.Text.RegularExpressions.Regex(pattern);
Match result = expression.Match(x);
Console.WriteLine(x);
foreach(var match in x)
{
Console.Write(match);
}
Console.WriteLine();
}
Run Code Online (Sandbox Code Playgroud) 我想快速将大写字符串 (UPPERCASE) 转换为标题大小写字符串 (Title Case)。我不擅长正则表达式,但通过我尝试使用的正则表达式找到了这个答案。
搜索表达式为:
"([A-Z])([A-Z]+)\b"
Run Code Online (Sandbox Code Playgroud)
模板表达式为:
"$1\L$2"
Run Code Online (Sandbox Code Playgroud)
为了快速使用它,我已经转义了反斜杠,如下所示:
var uppercase = "UPPER CASE STRING"
var titlecase = uppercase.stringByReplacingOccurrencesOfString("([A-Z])([A-Z]+)\\b", withString: "$1\\L$2", options: NSStringCompareOptions.RegularExpressionSearch, range: Range<String.Index>(start: uppercase.startIndex, end: uppercase.endIndex))
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下结果:
"ULPPER CLASE SLTRING"
Run Code Online (Sandbox Code Playgroud)
从中您可以看到搜索表达式成功找到了 $1 和 $2 两部分,但看起来转义反斜杠会干扰替换。
我怎样才能得到预期的结果:
"Upper Case String"
Run Code Online (Sandbox Code Playgroud)