string.Replace(‘원본’,’교체’)
string.Insert(‘Index’, ‘삽입할 데이터’)
string.Substring(‘start_index’, ‘end_index’)
string.StartsWith(‘MachingString’)
{N[,M][:formatString]}
N 0부터 시작하는 인덱스값으로 대치될 인수를 나타낸다.
M 값은 대치될 값이 표시될 자리 수를 나타낸다. 만약 인수의 길이가 이 M 값보다 작으면 공란이 포함되어 표시된다.
string.Insert(‘Index’, ‘삽입할 데이터’)
string.Substring(‘start_index’, ‘end_index’)
string.StartsWith(‘MachingString’)
{N[,M][:formatString]}
N 0부터 시작하는 인덱스값으로 대치될 인수를 나타낸다.
M 값은 대치될 값이 표시될 자리 수를 나타낸다. 만약 인수의 길이가 이 M 값보다 작으면 공란이 포함되어 표시된다.
만약 M값을 음수로 지정하면 대치되는 인수는 왼쪽 정렬로 표시되고, 만약 M 값을 양수로 지정하면 오른쪽 정렬로
표시된다.
formatString 선택 포맷 코드 string이다.
formatString 선택 포맷 코드 string이다.
문자 | 형식 |
C or c | 통화 |
D or d | 10진법 |
E or e | 공학용(지수) |
F or f | 고정 소수점 |
G or g | 일반 |
N or n | 번호, 이와 비슷한 F는 천 단위마다 컴마가 추가된다. |
P or p | 퍼센트 |
R or r | 라운드 트립, string으로 변경된 numeric 타입이 원래의 numeric값으로 원 위치될 수 있게 보장한다. 부동소수점일 때만 지원한다. |
X or x |
/////////////////////////////////////////////////////////////////////
int i = 123456;
{0:C} : $123456 {0:C5} : $123456.00000
{0:D} : 123456 {0:D5} : 123456
{0:E} : 1.234560E+005 {0:E5} : 1.234560E+005
{0:F} : 123456.00 {0:F5} : 123456.00000
{0:G} : 123456 {0:G5} : 123456
{0:N} : 123,456.00 {0:N5} : 123,456.00000
{0:P} : 12,345,600.00 % {0:P5} : 12,345,600.00 %
{0:X} : 1E240 {0:X5} : 1E240
/////////////////////////////////////////////////////////////////////
형식문자 | 사용 용도 | 설명 |
0 | 0자리 표시자 표시 | 숫자가 형식상 0보다 적은 숫자라면 nonsignificant 0으로 표시 |
# | 숫자 자리 표시자 표시 | 파운드 표시(#)를 significant숫자로만 대체 |
. | 10진수의 점을 표시 | 마침표 표시 |
, | 그룹 구분자 | 1,000처럼 숫자 즈룹을 구분 |
% | 퍼센트 표시 | 퍼센트(%) 표시 |
E+0 E-0 e+0 e-0 | 지수 표시 | 지수 결과 형식으로 표시 |
\ | 문자 표시 | “\n”처럼 전통적인 형식 시퀀스와 함깨 사용 |
‘ABC’ | 문자 string | 따옴표나 쌍따옴표 내에 모둔 종류의 string 표시 |
; | 부분 구분자 | 숫자값이 양수, 음수, 0에 따라 다른 결과값을 지정 |
/////////////////////////////////////////////////////////////////////
int i = 123456
{0:#0} 123456
{0:#0;(#0)} 123456
{0:#0;(#0);<zero>} 123456
{0:#%} 12345600%
int j = -123456
{0:#0} -123456
{0:#0;(#0)} (123456)
{0:#0;(#0);<zero>} (123456)
{0:#%} -12345600%
int x = 0
{0:#0} 0
{0:#0;(#0)} 0
{0:#0;(#0);<zero>} <zero>
{0:#%} %
/////////////////////////////////////////////////////////////////////
StringBuilder
.Replace(‘원본’, ‘교체’)
.Insert(index, ‘data’)
.Append(‘data’)
.AppendFormat(“{0:3}”, ‘data’)
.Remove(start_index, end_index)
정규식
식 | 설명 |
. | “\n”이외의 모든 단일 문자를 찾는다. |
[characters] | 목록에서 단일 문자를 찾는다. |
[^characters] | 목록에 없는 단일 문자를 찾는다. |
[charX-charY] | 지정된 범위에서 단일 문자를 찾는다. |
\w | [a-zA-Z_0-9]와 같은 단어 문자를 찾는다. |
\W | 단어가 아닌 문자를 찾는다. |
\s | [\n\r\t\f]와 같은 공백 문자를 찾는다. |
\S | 공백이 아닌 문자를 찾는다. |
\d | [0-9]와 같은 10진수를 찾는다. |
\D | 숫자가 아닌 문자를 찾는다. |
^ | 줄 시작 |
$ | 줄의 마지막 |
\b | 단어 경계 |
\B | 단어 경계가 아닌 부분 |
* | 0개 이상 찾는다. |
+ | 1개 이상 찾는다. |
? | 0개나 한 개 찾는다. |
{n} | 정확히 n개 찾는다. |
{n,} | 최소한 n개인 것을 찾는다. |
{n,m} | 최소 n개 최대 m개인 것을 찾는다. |
() | 일치하는 substring을 캡처한다. |
(?<name>) | 일치하는 substring을 그룹 이름으로 캡처한다. |
| | 논리적 OR |
Match
static void Main(string[] args) { Regex r = new Regex(“in”); Match m = r.Match(“Matching”); if(m.Success) { Console.WriteLine(“Found ‘{0}’ at position {1}”, m.Value, m.Index); } }String에 패턴이 여러 번 발생된다면 …
static void Main(string[] args) { Regex r = new Regex(“in”); MatchCollection mc = r.Matches(“The King Was in His Counting”); for(int i = 0; i < mc.Count; i++) { Console.WriteLine(“{0}-{1}”, mc[i].Value, mc[i].Index); } } 또는 static void Main(string[] args) { Regex r = new Regex(“in”); string str = “The King Was in His Counting”; Match m; for(m = r.Match(str); m.Success; m = m.NextMatch()) { Console.WriteLine(“{0}-{1}”, mc.Value, mc.Index); } }여러 패턴의 인스턴스에 대한 일치 : Regex r = new Regex(“((an)|(in)|(on))”);
여러 패턴의 인스턴스에 대한 일치 : Regex r = new Regex(“Gr(a|e)y”);
Groups
Group클래스는 그룹과 일치하는 하나의 정규식 결과를 표시한다.Match클래스는 GroupCollection 객체를 반환하는 Groups 프로퍼티를 제공한다.
static void Main(string[] args) { Regex r = new Regex(“(i(n))g”); string str = “The King Was in His Counting”; Match m = r.Match(str); GroupCollection gc = m.Groups; for(int i = 0; i < gc.Count; i++) { Group g = gc.[i]; Console.WriteLine(“Found ‘{0}’ at position {1}”, g.Value, g.Index); } } Group Regex q = new Regex(“(?<something>\\w+):(?<anogher>\\w+)”); Match n = q.Match(“Salary:123456”); Console.WriteLIne(“{0} = {1}”, n.Groups[“something”].Value, n.Groups[“another”].Value); //?<another>\\w+ 일치하는 substring을 단어문자만 ‘another’이라는 그룹에 캡처한다.Captures
msdn.microsoft.com/ko-kr/library/system.text.regularexpressions.capture(VS.95).aspx
.Replace(“string”, “pattern”, “change_string”) string s = “trailing “; string e = @”\s+$”; string r = Regex.Replace(s, e, “”);>
댓글 없음:
댓글 쓰기