0

私は次のように文字列変数を持っています

 string pctSign = "\0\0\0";

最初の2文字を「%」に置き換えたい

i.e. Final o/p:- pctSign="%\0\0";

String.Replaceでこれを行う方法は?

4

4 に答える 4

5
// Option 1
var result = "%" + pctSign.Remove(0, 2);

// Option 2
var result = "%" + pctSign.Substring(2);

// Option 3
var regex = new Regex("^\\0");
var result = regex.Replace(pctSign, "%");

どうしてもユーザーString.Replace()にしたい場合は、独自の拡張メソッドを作成できます。

public static class StringExtension
{
    public static String Replace(this string self, 
                                      string oldString, string newString, 
                                      bool firstOccurrenceOnly = false)
    {
        if ( !firstOccurrenceOnly )
            return self.Replace(oldString, newString);

        int pos = self.IndexOf(oldString);
        if ( pos < 0 )
            return self;

        return self.Substring(0, pos) + newString 
               + self.Substring(pos + oldString.Length);
    }
}

// Usage:
var result = pctSign.Replace("/0", "%", true);
于 2012-09-11T11:20:38.420 に答える
2

これを試して:

var pctSign = "\0\0\0";
var result = string.Format("%{0}", pctSign.Substring(2));
于 2012-09-11T11:21:30.210 に答える
0
string s = pctSign.Substring(2, pctSign.Length);
s = "%" + s;
于 2012-09-11T11:20:53.313 に答える
0

あなたは最初の2つだけを意味します

pctSign = "%"+pctSign.substring(2);
于 2012-09-11T11:22:10.477 に答える