Проанализируйте целое число от строки, содержащей буквы и пробелы - C#

Эта опция только влияет на фазу разработки. Это просто копирует ссылку на локальный каталог созданного блока.

, Если другой блок (T) хочет использовать метод от блока, Вы создаете (A), который имеет тип возврата или параметры от другого блока, на который ссылаются (R), он (T) должен быть в состоянии получить доступ к тому блоку (R). Это могло бы быть в состоянии сделать так, не делая ничего специального, если блок, на который ссылаются (R) установлен в GAC. Иначе этому нужна локальная копия этого.

5
задан Michael Kniskern 20 October 2009 в 17:49
поделиться

6 ответов

Поскольку формат строки не изменится KISS :

string input = "RC 272";
int result = int.Parse(input.Substring(input.IndexOf(" ")));
9
ответ дан 18 December 2019 в 05:31
поделиться

Guys, since it will always be in the format "ABC 123", why not skip the IndexOf step?

string input = "RC 272";
int result = int.Parse(input.Substring(3));
0
ответ дан 18 December 2019 в 05:31
поделиться

Простое регулярное выражение может извлечь число, а затем вы можете проанализировать его:

int.Parse(Regex.Match(yourString, @"\d+").Value, NumberFormatInfo.InvariantInfo);

Если строка может содержать несколько чисел, вы можете просто перебрать найденные совпадения с помощью того же регулярного выражения:

for (Match match = Regex.Match(yourString, @"\d+"); match.Success; match = match.NextMatch()) {
    x = int.Parse(match.Value, NumberFormatInfo.InvariantInfo); // do something with it
}
20
ответ дан 18 December 2019 в 05:31
поделиться

Если он всегда будет в формате «ABC 123»:

string s = "RC 272";
int val = int.Parse(s.Split(' ')[1]); // val is 272
2
ответ дан 18 December 2019 в 05:31
поделиться

Ради удовольствия, другая возможность:

int value = 0;
foreach (char c in yourString) {
  if ((c >= '0') && (c <= '9')) {
    value = value*10+(c-'0');
  }
}
3
ответ дан 18 December 2019 в 05:31
поделиться

EDIT:

Если он всегда будет в этом формате, разве не будет работать что-то вроде следующего, где value = "RC 272"?

int someValue = Convert.ToInt32(value.Substring(value.IndexOf(' ') + 1));
0
ответ дан 18 December 2019 в 05:31
поделиться
Другие вопросы по тегам:

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