이 형식으로 데이터를받습니다.
var data="frame= 159 fps= 51 q=34.0 size= 512kB time=00:00:05.37 bitrate= 780.3kbits/s dup=3 drop=0 speed=1.72x";
여기서 구분 기호를 사용하는 유일한 가능성은 공백입니다. 그러나 frame= 159
= 문제를 생성 한 후에 더 많은 공간 이 있는 경우. 프레임, 크기, 비트 전송률과 동일한 문제입니다.
따라서 구분 기호 또는 간단한 문자열 분할을 사용할 수 없습니다. data.Split(" ")
여기에서 값을 구문 분석하여 DTO / Object를 수정하는 방법.
public class Template
{
public float Frame {get;set;}
public float Fps {get;set;}
public string Size {get;set;}
public TimeSpan Time {get;set;}
public string Bitrate {get;set;}
public short Dup {get;set;}
public short Drop {get;set;}
public string Speed {get;set;}
}
=
Regex 를 사용한 후 공백 제거
var data = "frame= 159 fps= 51 q=34.0 size= 512kB time=00:00:05.37 bitrate= 780.3kbits/s dup=3 drop=0 speed=1.72x";
data = Regex.Replace(data, @"=\s+", "=");
foreach (var d in data.Split(' '))
{
var kv = d.Split('=');
Console.WriteLine(String.Format("{0}: {1}", kv[0], kv[1]));
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다