본문 바로가기

공방/학습 일지

[ .NET ] 파싱한 문자열에서 데이터 추출하기

기본 제공 메서드를 사용하여 문자열의 데이터를 추출, 제거 또는 대체할 수 있습니다

 

다른 문자열 내에서 문자 또는 문자열의 위치 확인

IndexOf 메서드를 통해 해당 위치에 값을 int형으로 추출할 수 있습니다

8과 16은 문자열 message의 위치를 나타냅니다

startPoint와 endPoint는 각각 '[' 와 ']' 의 위치를 나타냅니다

string message = "This is [message]";

int startPoint = message.IndexOf('[');
int endPoint = message.IndexOf(']');

Console.WriteLine(startPoint);
Console.WriteLine(endPoint);

output : 
8
16

 

문자열의 일부 추출

'[' 와 ']' 의 위치를 확인하면, 그 사이에 있는 문자열을 추출할 수 있습니다

웹에서 파싱한 데이터를 가공할 때도 사용할 수 있습니다

예를 들어 <tag></tag> 사이의 데이터 값을 가져올 때도 유용하게 사용할 수 있습니다

string message = "This is [message]";

int startPoint = message.IndexOf('[');
int endPoint = message.IndexOf(']');

//Console.WriteLine(startPoint);
//Console.WriteLine(endPoint);

startPoint = startPoint + 1;

int length = endPoint - startPoint;
Console.WriteLine(message.Substring(startPoint, length));


string webMessage = "This is web page <tag>tagMessage</tag>";

const string openTag = "<tag>";
const string closeTag = "</tag>";

int openingPosition = webMessage.IndexOf(openTag);
int closingPosition = webMessage.IndexOf(closeTag);

openingPosition = openingPosition + openTag.Length;

int length = closingPosition - openingPosition;

Console.WriteLine(webMessage.Substring(openingPosition, length));

output : 
message
tagMessage