.NET에서 문자열에서 `::` 로 시작하는 단어만 제외하는 방법은 다음과 같습니다:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = ":acd ::data) :dfg ::value";
// "::"로 시작하는 단어를 제거하는 정규식
string pattern = @"::\w+\b";
// 정규식을 사용하여 매칭되는 문자열을 빈 문자열로 대체
string result = Regex.Replace(input, pattern, string.Empty);
// 결과 출력
Console.WriteLine(result.Trim());
}
}
```csharp
using System.Text.RegularExpressions;
string input = ":abc ::data) :dfg ::value";
string pattern = @"(?<=\s|^)::(\w+)(?=\s|$)"; // ::로 시작하는 단어 패턴
string output = Regex.Replace(input, pattern, "");
Console.WriteLine(output); // 출력: :abc ) :dfg
```
주요 설명:
1. `Regex.Replace()` 메서드를 사용하여 문자열 치환을 수행합니다.
2. 정규식 패턴 `@"(?<=\s|^)::(\w+)(?=\s|$)"`은 다음을 의미합니다:
- `(?<=\s|^)` - 앞쪽에 공백 문자 또는 문자열 시작이 있는지 확인
- `::` - `::` 문자
- `(\w+)` - 하나 이상의 알파벳/숫자 문자
- `(?=\s|$)` - 뒤쪽에 공백 문자 또는 문자열 끝이 있는지 확인
3. 치환 결과 문자열은 `::` 로 시작하는 단어가 제거된 `":abc ) :dfg"` 입니다.
이와 같은 방법으로 입력 문자열에서 `::` 로 시작하는 단어만 제거할 수 있습니다.