C#에서 문자열을 전화번호로 형식 지정

Saad Aslam 2023년10월12일
  1. formatPhNumber() 메서드를 사용하여 C#에서 문자열 형식을 전화번호로 지정
  2. C#에서 전화번호 형식화를 위한 전체 소스 코드
C#에서 문자열을 전화번호로 형식 지정

이 기사에서는 C#에서 전화번호 형식을 지정하는 방법을 소개합니다. 우리는 구현에 대해 깊이 논의하고 그 실행을 이해할 것입니다.

먼저 C#의 기능이나 메서드를 사용하기 위해 라이브러리 System을 가져옵니다.

C#에서 전화 번호 형식을 지정하기 위해 이 예제의 정규식을 사용하려면 다른 라이브러리 System.Text.RegularExpressions도 필요합니다.

using System;
using System.Text.RegularExpressions;

이제 PhoneFormatter라는 클래스를 만들고 클래스 내부에서 모든 작업을 수행합니다.

class PhoneFormatter {}

formatPhNumber() 메서드를 사용하여 C#에서 문자열 형식을 전화번호로 지정

public 액세스 수정자를 사용하여 데이터 유형 문자열의 formatPhNumber()라는 메서드를 만들고 미리 정의된 내부에 각각 phoneNumphoneFormat이라는 데이터 유형 문자열의 두 인수를 전달합니다. 클래스 PhoneFormatter.

class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {}
}

이 단계를 완료한 후 phoneFormat이 비어 있으면 확인이 적용되며, 다음 단계에서 이 메서드를 호출합니다. 이 변수는 이 경우 (##) ###-####인 기본 전화 번호 형식을 할당합니다.

if (phoneFormat == "") {
  phoneFormat = "(##) ###-####";
}

Regex 클래스를 사용하여 regex 변수를 만들고 해당 생성자에 값을 전달합니다. 이 두 줄의 코드는 Regex's 값의 다른 항목을 제외합니다.

숫자를 제외하고 전화 번호 형식에 알파벳이나 특수 문자가 들어갈 가능성은 없습니다.

Regex regex = new Regex(@"[^\d]");

그런 다음 Replace()라는 Regex 라이브러리의 다른 함수를 사용하여 phoneNum 변수에 새 값을 할당합니다.

이전에 정의된 regex 형식을 사용하고 이를 당사가 제공할 전화번호로 대체합니다.

phoneNum = regex.Replace(phoneNum, "");

여기에서 변수 phoneNum에 값이 있는지 확인하기 위해 조건을 사용하고 있습니다. 이는 phoneNum의 길이가 0보다 크다는 것을 나타냅니다.

그렇다면 전화번호는 64비트 정수 형식으로 변환되고 전화 형식은 문자열 값으로 변환되어 phoneNum 변수에 할당됩니다.

formatPhNumber() 함수의 끝에서 phoneNum을 반환합니다.

if (phoneNum.Length > 0) {
  phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
}
return phoneNum;

여기에 전화 번호 형식을 지정하기 위해 이전에 만든 메서드를 호출하는 기본 메서드가 있습니다.

static void Main() {}

Main() 메소드 내에서 phNumber라는 string 변수를 초기화합니다. 전화번호는 메서드에 매개변수로 전달하기 위해 저장됩니다.

string phNumber = "123456789";

마지막으로 print 문 내에서 formatPhNumber() 메서드를 호출합니다. 여기에는 각각 phoneNumphoneFormat이라는 두 개의 매개변수가 필요합니다.

따라서 phNumber로 전화 번호를 할당하고 빈 문자열로 전화 형식을 할당합니다.

전화 형식에 빈 값을 전달하면 이전에 초기화된 기본값이 자동으로 할당되며 예외가 발생하지 않습니다.

Console.WriteLine(formatPhNumber(phNumber, ""));

C#에서 전화번호 형식화를 위한 전체 소스 코드

using System;
using System.Text.RegularExpressions;
class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {
    if (phoneFormat == "") {
      phoneFormat = "(##) ###-####";
    }
    Regex regex = new Regex(@"[^\d]");
    phoneNum = regex.Replace(phoneNum, "");
    if (phoneNum.Length > 0) {
      phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
    }
    return phoneNum;
  }
  static void Main() {
    string phNumber = "123456789";
    Console.WriteLine(formatPhNumber(phNumber, ""));
  }
}

출력:

(12) 345-6789
작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - Csharp String