1

C#:

string mystring = "Hello World. & my name is < bob >. Thank You."
Console.Writeline(mystring.ToUpper())

すべてのテキストを大文字にしようとしています--

&  <  > 

これらは私のエンコーディングであり、テキストが小文字でない限りエンコーディングが機能しないためです。

4

1 に答える 1

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 つ以上の単語の文字チャンクを照合してキャプチャし、グループ 1 の内容のみを大文字に変換することです。

var result = System.Text.RegularExpressions.Regex.Replace(mystring, 
    @"&\w+;|(\w+)", m => 
           m.Groups[1].Success ? m.Groups[1].Value.ToUpper() :
           m.Value
);
于 2017-01-03T15:04:06.177 に答える