C#:
string mystring = "Hello World. & my name is < bob >. Thank You."
Console.Writeline(mystring.ToUpper())
我试图让所有文字都是大写的,除了 -
& < >
因为这些是我的编码,编码不会起作用,除非文本是小写的。
答案 0 :(得分:1)
您可以用空格分割字符串,将所有不以&
开头的项目转到上面,然后保持原样,然后再加入一个字符串:
string mystring = "Hello World. & my name is < bob >. Thank You.";
string result = string.Join(" ", mystring.Split(' ').Select(m => m.StartsWith("&") ? m : m.ToUpper()));
另一种方法是使用正则表达式匹配&
,1 +单词字符,然后匹配;
,并匹配并捕获其他1个字的字符块,并仅将大小写成大写第1组:
var result = System.Text.RegularExpressions.Regex.Replace(mystring,
@"&\w+;|(\w+)", m =>
m.Groups[1].Success ? m.Groups[1].Value.ToUpper() :
m.Value
);