728x90
반응형
728x170
▶ StringExtensions.cs
using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;
namespace TestProject
{
/// <summary>
/// 문자열 확장
/// </summary>
public static class StringExtension
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 파스칼 표기법 문자열 구하기 - ToPascalCase(source)
/// <summary>
/// 파스칼 표기법 문자열 구하기
/// </summary>
/// <param name="source">소스 문자열</param>
/// <returns>파스칼 표기법 문자열</returns>
public static string ToPascalCase(this string source)
{
TextInfo textInfo = Thread.CurrentThread.CurrentCulture.TextInfo;
source = textInfo.ToTitleCase(source);
string[] partArray = source.Split(new char[] {}, StringSplitOptions.RemoveEmptyEntries);
string result = string.Join(string.Empty, partArray);
return result;
}
#endregion
#region 카멜 표기법 문자열 구하기 - ToCamelCase(source)
/// <summary>
/// 카멜 표기법 문자열 구하기
/// </summary>
/// <param name="source">소스 문자열</param>
/// <returns>카멜 표기법 문자열</returns>
public static string ToCamelCase(this string source)
{
source = source.ToPascalCase();
return source.Substring(0, 1).ToLower() + source.Substring(1);
}
#endregion
#region 고유 표기법 문자열 구하기 - ToProperCase(source)
/// <summary>
/// 고유 표기법 문자열 구하기
/// </summary>
/// <param name="source">소스 문자열</param>
/// <returns>고유 표기법 문자열</returns>
public static string ToProperCase(this string source)
{
const string pattern = @"(?<=\w)(?=[A-Z])";
string result = Regex.Replace(source, pattern, " ", RegexOptions.None);
return result.Substring(0, 1).ToUpper() + result.Substring(1);
}
#endregion
}
}
728x90
▶ MainForm.cs
using System;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
#region 이벤트를 설정한다.
Load += Form_Load;
this.stringTextBox.TextChanged += stringTextBox_TextChanged;
#endregion
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
this.stringTextBox.Text = "this is another test string";
}
#endregion
#region 문자열 텍스트 박스 텍스트 변경시 처리하기 - stringTextBox_TextChanged(sender, e)
/// <summary>
/// 문자열 텍스트 박스 텍스트 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void stringTextBox_TextChanged(object sender, EventArgs e)
{
this.pascalCaseTextBox.Text = this.stringTextBox.Text.ToPascalCase();
this.camelCaseTextBox.Text = this.stringTextBox.Text.ToCamelCase();
this.separateWordTextBox.Text = this.camelCaseTextBox.Text.ToProperCase();
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 특수 기호 표시하기 (0) | 2018.12.23 |
---|---|
[C#/COMMON] 메인보드 시리얼 번호/CPU ID 구하기 (0) | 2018.12.23 |
[C#/COMMON] OleDbEnumerator 클래스 : OLEDB 공급자 조회하기 (0) | 2018.12.23 |
[C#/COMMON] 정규식 사용하기 (0) | 2018.12.22 |
[C#/COMMON] CPU 부하 생성하기 (0) | 2018.12.21 |
[C#/COMMON] Clipboard 클래스 : 데이터 포맷 구하기 (0) | 2018.12.11 |
[C#/COMMON] Clipboard 클래스 : 멀티 포맷 사용하기 (0) | 2018.12.11 |
[C#/COMMON] Clipboard 클래스 : 객체 사용하기 (0) | 2018.12.11 |
[C#/COMMON] 진수 변환하기 (0) | 2018.12.09 |
[C#/COMMON] 오일러의 체(Euler's Sieve)를 사용해 소수 구하기 (0) | 2018.12.09 |
댓글을 달아 주세요