■ 현재 단어를 구하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
/// <summary> /// 단어 구분자 리스트` /// </summary> private static string _wordDelimeterList = "`~!@#$%^&*()-_=+[{]}|;:'\",<.>/? \t\n\r"; #region 현재 단어 구하기 - GetCurrentWord(source, currentPosition) /// <summary> /// 현재 단어 구하기 /// </summary> /// <param name="source">소스 문자열</param> /// <param name="currentPosition">현재 위치</param> /// <returns>현재 단어</returns> public string GetCurrentWord(string source, int currentPosition) { int startPosition = 0; if((currentPosition + 1) > source.Length) { return null; } for(int i = currentPosition - 1; i >= 0; i--) { if(_wordDelimeterList.IndexOf(source[i]) != -1) { startPosition = i + 1; break; } } for(int i = currentPosition; i < source.Length; ++i) { if(_wordDelimeterList.IndexOf(source[i]) != -1) { return source.Substring(startPosition, i - startPosition); } } return source.Substring(startPosition, source.Length); } #endregion |