2015-06-12 2 views
1

У меня есть byte[] array Q, который содержит некоторые данные. Чтобы преобразовать массив в строку, я использую result=System.Text.Encoding.ASCII.GetString(Q);. Результат - это что-то вроде JOBID: 196035002\n. Мне нужно только целое число. Есть ли способ получить только значение int196035002 без преобразования в строку и разделения на другой массив?Получение данных из массива

+0

Какой язык вы используете? –

+1

На основе фрагмента кода я бы сказал C#. – Tim

+0

Является ли 'JOBID:' всегда в начале? Если это так, то вы можете манипулировать строкой со строковыми функциями и преобразовывать число в целое. – Tim

ответ

0

Я думаю, что язык, о котором вы говорите, это C#. Что вам нужно сделать, это:

char[] delimiterChars = { ':' }; 
string[] words = result.Split(delimiterChars); 
foreach (string s in words) 
    { 
     System.Console.WriteLine(s); 
    } 
+0

OP специально обозначил «** без ** преобразования в строку и разделения на другой массив», поэтому, пока ваш ответ работает, это не то, что они искали. – Tim

+0

@Tim: Это действительно так! – nom

0

Если вы не хотите использовать такие функции, как Split то вы можете попробовать это регулярное выражение, чтобы получить желаемый результат.

String inputString = "JOBID: 196035002\n"; 
Int32 result = Convert.ToInt32(Regex.Match(inputString, @"\d+").Value); 

NameSpace для Regex: using System.Text.RegularExpressions;

Смежные вопросы