Как удалить сначала два и продержаться два символа в строке?

Необходимо зеркально отразить взгляды при работе с масштабируемым хранилищем данных как GAE, чтобы сделать вычисления впереди. В этом случае это означает, что необходимо сохранить счетчики для каждого baz и увеличить их каждый раз, когда Вы добавляете новое bar, вместо того, чтобы рассчитать во время дисплея.

class CategoryCounter(db.Model):
    category = db.StringProperty()
    count = db.IntegerProperty(default=0)

тогда при создании объекта Панели, увеличьте счетчик

def createNewBar(category_name):
  bar = Bar(...,baz=category_name)

  counter = CategoryCounter.filter('category =',category_name).get()
  if not counter:
    counter = CategoryCounter(category=category_name)
  else:
    counter.count += 1
  bar.put()
  counter.put()

db.run_in_transaction(createNewBar,'asdf')

теперь, у Вас есть простой способ получить счет для любой определенной категории

CategoryCounter.filter('category =',category_name).get().count
9
задан Bo Persson 3 August 2011 в 21:42
поделиться

5 ответов

str = str.Substring(2,str.Length-4)

Конечно, вы должны проверить, что строка содержит более 4 символов, прежде чем делать это. Также в вашем случае кажется, что \ n - это один символ новой строки. Если все, что вы хотите сделать, это удалить начальные и конечные пробелы, вам следует использовать

str.Trim()

, как предложил Чарльз

47
ответ дан 4 December 2019 в 05:56
поделиться
// Test string
var str = "\nTESTSTRING\n";

// Number of characters to remove on each end
var n = 2;

// Slimmed string
string slimmed;

if (str.Length > n * 2)
    slimmed = str.Substring(n, str.Length - (n * 2));
else
    slimmed = string.Empty;

// slimmed = "ESTSTRIN"
6
ответ дан 4 December 2019 в 05:56
поделиться

Вы пробовали:

 myString.Trim();
5
ответ дан 4 December 2019 в 05:56
поделиться
myString = myString.SubString(2, myString.Length - 4);
2
ответ дан 4 December 2019 в 05:56
поделиться

Papuccino1,

Если вы создадите такой метод расширения, как этот:

 public static class StringEnumerator {

    public static IEnumerable<String> GetLines(this String source) {
        String line = String.Empty;
        StringReader stringReader = new StringReader(source);

        while ((line = stringReader.ReadLine()) != null) {
            if (!String.IsNullOrEmpty(line)) {
                yield return line;
            }
        }
    }
}

ваш код будет упрощен и станет более безопасным (вне зависимости от индекса опасности):

class Program {

    static void Main(string[] args) {
        String someText = "\nTESTSTRING\n";
        String firstLine = someText.GetLines().First();
    }
}

Надеюсь, это поможет,

Рикардо Ласерда Каштелу Бранко

0
ответ дан 4 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: