DT 기능 에디터 만들기 GoogleSheetURLParser Class 설명
1. GoogleSheetURLParser Class
에디터 만들기 위해선 일단, 정규 표현식이란 개념을 숙지해야 한다.
웬 뜬금없이 정규 표현식? 이라는 의문을 가지기 쉬운데,
정규 표현식 사용을 통해 문자열에서 특정 패턴을 찾거나 검증하거나 추출하는 데 사용되는 개념이기 때문이다.
구글 스프레드 시트 URL 주소를 통해 특정 패턴을 찾아서,
변수 값을 추출한 뒤 그 변수 값으로 시트를 분별하여 DT를 가져올 것이기 때문이다.
정규 표현식이란,
특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.
이러한 정규 표현식을 활용하기 위한 네임 스페이스는
using System.Text.RegularExpressions 이다.
정규 표현식을 통해,
Google Sheet URL에서 spreadSheetID를 얻어 gid 값을 추출해보자.
gid 는 변수로, 시트(탭) 고유 식별자를 의미한다.
speradsheetID는 전체 구글 스프레드 시트 문서의 고유 ID이다.
speradsheetID StringBuilder 변수를 통해 전체 구글 스프레드시트 문서의 고유 ID를 확보할 것이다.
임의의 주소가 있다고 치자.
예: https://docs.google.com/spreadsheets/d/**122A2B3C4D5E6F7G8H9I0J**/edit#gid=0
여기서 122A2B3C4D5E6F7G8H9I0J 부분이 spreadsheetId 가 된다.
gid변수는 하나의 구글 스프레드시트 안에 여러 개의 "시트 탭"이 있을 수 있다.
각 시트 탭은 내부적으로 숫자로 된 고유 식별자를 가진다.
이것을 담는 변수가 gid이다.
이 변수에 담을 내용을 추출하는 함수를 GoogleSheetURLParser 클래스가 관리하는 것이다.
요소 설명
spreadsheetId | 122A2B3C4D5E6F7G8H9I0J |
gid | 123456789 → 특정 시트(탭) 식별용 ID |
using System.Text.RegularExpressions;// 정규 표현식을 사용하기 위한 네임스페이스
// Google 시트 URL에서 spreadsheetId와 gid를 추출하는 유틸리티 클래스
public static class GoogleSheetURLParser
{
// URL에서 spreadsheetId를 추출하는 메서드
public static string ExtractSpreadsheetId(string url)
{
// 정규 표현식을 이용해 URL에서 spreadsheetId 추출 시도
// 예: "https://docs.google.com/spreadsheets/d/abcd1234efg5678"
var match = Regex.Match(url, @"docs\.google\.com/spreadsheets/d/([a-zA-Z0-9-_]+)");
// 정규식 매칭 성공 시 그룹 1에 해당하는 ID 반환, 실패 시 null 반환
return match.Success ? match.Groups[1].Value : null;
}
// URL에서 gid를 추출하는 메서드
public static string ExtractGid(string url)
{
// 정규 표현식을 이용해 URL의 gid 파라미터 추출 시도
// 예: "...&gid=123456789"
var match = Regex.Match(url, @"gid=(\d+)");
// 매칭 성공 시 gid 값 반환, 실패 시 null 반환
return match.Success ? match.Groups[1].Value : null;
}
}
참고 문서
https://learn.microsoft.com/ko-kr/dotnet/api/system.text.regularexpressions.regex?view=net-8.0
Regex 클래스 (System.Text.RegularExpressions)
변경할 수 없는 정규식을 나타냅니다.
learn.microsoft.com
https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D
정규 표현식 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 노란색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 스티븐 클레이니는 정규 표현식의 개념을 설립한 공로자이다. 정규 표현식(正規表現式, 영어: r
ko.wikipedia.org