在字符串内的某个位置上用星号替换char

时间:2015-05-27 16:46:23

标签: c# .net

如果我有一些像

这样的数字的字符串
  app.controller('jsonServerBox', function($scope) {

    $scope.medal_ticks = ['Gold', 'Silver', 'Bronze', 'Not passed'];
    $scope.series = ['Medaljer'];
    $scope.medals_colours = [{fillColor:['#087D76', '#B3BC3A', '#38B665', '#8B4A9D']}];

    $scope.medal_data = [['1', '5', '2', '0']];
  });

如何用var nr = "00011122233345721"; 替换字符串中的第八个和最后一个元素,以便字符串变为*

3 个答案:

答案 0 :(得分:2)

由于字符串在c#中是不可变的,请尝试以下操作:

char[] array = nr.ToCharArray();
array[7] = "*";
array[array.Length-1] = "*"
nr = new string(array);

答案 1 :(得分:1)

使用

      var nr1 = "00011122233345721";
        var array = nr1.ToCharArray();
        array[7] = '*';
        array[nr1.Length-1] = '*';
        nr1 = new string(array);

OR

        var nr = "00011122233345721";
        nr = nr.Insert(nr.Length - 1, "*");
        nr = nr.Remove(nr.Length-1);
        nr = nr.Insert(7, "*");
        nr = nr.Remove(8,1);

答案 2 :(得分:-1)

我认为这是重复的:stuff function implementation in c#

简而言之,您无法在.NET中更改字符串的内容,因为它是一个不可变对象。您需要创建一个新字符串。