DevLog/유니티 프로젝트

DT 기능 에디터 만들기 GoogleSheetURLParser Class 설명

뽀또치즈맛 2025. 6. 8. 12:35

 

 

 

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 클래스가 관리하는 것이다.
 
 
요소 설명

spreadsheetId122A2B3C4D5E6F7G8H9I0J
gid123456789 → 특정 시트(탭) 식별용 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