VB.NET/왕초보(31)
-
[VB.NET] 문자열에서 원하는 내용 찾아내기 - 정규 표현식
VB.NET에는 예전에 없던 아주 강력한 기능이 많이 생겼는데 그중 하나가 정규 표현식이다. 정규 표현식은 텍스트를 검색하고 조작할때 사용할 수 있는 아주 강력한 기능을 제공하는데, 오늘은 이 정규표현식을 이용해서 문자열에서 특정 형식의 문자열을 찾아서 반환하는 함수를 만들어보려고 한다. 이 함수는 고객 응대 게시판과 같이 일반 고객들이 직접 입력하는 내용에서 내가 원하는 패턴의 문자열을 뽑아내는 등의 기능을 사용할 때 아주 유용하게 사용할 수 있다. 예를 들어서, 자동차 부품을 판매하는 쇼핑몰을 운영하는데, 항상 고객에게 차량번호를 받아야 한다고 가정해보자. 차량 번호는 123가4567 형식으로 입력된다고 가정했을때, 고객 개개인이 입력하는 게시판이다보니 형식도 제각각일 것이다. 아래 고객이 입력한 몇..
2024.07.12 -
[VB.NET] OrElse 연산자가 뭐지? 첨보네
VB.NET은 이전 VB에 비해서 정말 많은 기능이 추가됐는데 OrElse도 그중 하나이다. 이게 처음에는 있다는 사실 자체를 몰라서 못쓰지만, 알게 되면 아주 유용한 연산자이니 OrElse를 사용하는 이유를 이번에 제대로 알아보도록 하자. 연산자 하나를 설명하는 포스팅이라 내용이 간단하니 부담없이 확인해보도록 하자. 아래 두개의 If문을 확인해보자. Dim val1, val2, val3 As Boolean val1 = True : val2 = False : val3 = False If val1 = True Or val2 = True Or val3 = True Then MsgBox("True") End If If val1 = True OrElse val2 = True OrElse val3 = True T..
2024.04.12 -
VB.NET 금액에 천원 단위 콤마 넣는 신박한 방법
금액을 표기할때는 일반적으로 천원 단위로 콤마를 넣어서 표기하게 된다. 금액뿐만 아니라 숫자가 천단위보다 클 경우에는 가독성을 위해서 콤마를 사용하는게 여러모로 좋다. 오늘은 이를 위해 VB.NET에서 어떤 기능을 지원하는지 하나씩 차근차근 알아보기로 하자. 간략한 예제를 위해 아래 두개의 변수를 선언하자. Dim Val1 As Long = 100000, Val2 As Long = 30000000 Val1은 십만, Val2는 삼천만을 넣었다. 이 예제에서 구하는 최종 결과는 "Val1 = 100,000, Val2 = 30,000,000"로 아래 3가지 방법 모두 동일한 결과를 도출하게 된다. 1. String.Format() Dim Format1 As String = String.Format("Val1 ..
2024.03.12 -
VB.NET XML 파싱 - XmlDocument 사용
VB.NET HTML 파싱 - XPath를 사용한 HtmlAgilityPack 예제 VB.NET으로 HTML을 파싱하기 위해 예전에는 InStr, Mid, Left 등을 이용해서 하나하나 위치 잡아서 값을 가져왔던 기억이 나는데, 이제는 그럴 필요가 없다. 물론 예전 방식으로 작업해도 동작에 무리가 chakhani.tistory.com 지난 시간 HTML 파싱에 이어 이번 시간에는 XML 파싱에 대해 알아보자. XML 파싱은 VB.NET에서 기본 제공하는 기능이라 NuGet 패키지를 별도로 설치할 필요는 없다. 예제를 설명하기 위해 아이디, 이름, 점수를 나타내는 간략한 XML 문서를 하나 만들자. user1 홍길동 80 user2 이순신 90 user3 김철수 100 이제 위 XML 문서를 파싱해보자...
2024.02.21 -
VB.NET Rnd, Randomize, Random 랜덤값 난수 사용하기
랜덤값은 의외로 여러 분야에서 많이 사용하게 되는 기능이니 이번 기회에 확실히 알아보도록 하자. 예전 VB98에서 랜덤값을 사용하려면 Rnd 함수를 사용해야 했고, 지금도 이 방법이 익숙해서 많이 사용된다. 사용법은 아래와 같다. Rnd() 함수는 0 이상, 1 미만의 임의의 부동 소수점 숫자를 반환한다. 1 미만이기 때문에 1은 반환하지 않는다는 것에 주의하자. 0은 반환하기도 하지만, 확률적으로 아주 낮다. 아래 예제를 살펴보자. Dim rndVal = Int(Rnd() * 10) + 5 이렇게 하면, rndVal에는 5 이상, 15 미만의 랜덤값이 들어가게 된다. 랜덤값은 말 그대로 임의의 값이기 때문에 어떤 값이 들어갈지는 며느리도 모른다. 다만 범위만 정해줄 뿐이다. 그러면 Randomize()..
2024.02.20 -
VB.NET HTML 파싱 - XPath를 사용한 HtmlAgilityPack 예제
VB.NET으로 HTML을 파싱하기 위해 예전에는 InStr, Mid, Left 등을 이용해서 하나하나 위치 잡아서 값을 가져왔던 기억이 나는데, 이제는 그럴 필요가 없다. 물론 예전 방식으로 작업해도 동작에 무리가 없지만 그럴 필요가 없어졌으니 HtmlAgilityPack을 이용해서 HTML을 파싱해보도록 하자. 1. HTML 파일 생성 아래 소스처럼 예제에 사용할 간단한 HTML 문서를 하나 만들어 보자. 1행 1열 1행 2열 1행 3열 2행 1열 2행 2열 2행 3열 3행 1열 3행 2열 3행 3열 Div 2번째 테이블을 하나 그려서 각 열과 행을 표시하는 간단한 HTML 문서이다. 이제 이 문서를 파싱하며 HtmlAgilityPack가 제공하는 다양한 기능을 확인해보자. 우선 위 HTML 소스를 ..
2024.02.19