게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c# 불용어처리기 제작중 질문이 생겼습니다.
게시물ID : programmer_23079짧은주소 복사하기
작성자 : 창기름
추천 : 0
조회수 : 807회
댓글수 : 14개
등록시간 : 2020/03/17 23:19:39
옵션
  • 창작글
  • 본인삭제금지
string[] symbols = { "!", "?", ".", ",", ";", ":", "\"", "\'", "-", "(", ")" };

...

private string MakePureWord(string word)
        {
            // 1) 단어를 소문자화 하고,
            word = word.ToLower(new CultureInfo("en-US", false));

            // 2) symbol 목록의 특수기호들을 없애고,
            while (true)
            {
                foreach (var symbol in symbols)
                {
                    if (word.LastIndexOf(symbol) == (word.Length - 1) || word.IndexOf(symbol) == 0)
                    {
                        word = word.Replace(symbol, "");
////// 여기서 !!!!! while문으로 다시 돌아가고 싶어요
                    }
                }
                return word;
            }
        }

불용어 처리기를 만들던 도중 문제가 생겼습니다.
문제의 내용은 이것입니다.

could also be an option," said Lee.

option," 부분에서 symbols 배열의 순서상 , 다음 " 을 체크하게 됩니다.
그래서 , 를 미처 해결하지 못하고 " 만 해결한 후 return 하게 됩니다.

따라서 저는 option 이라는 string을 얻고싶지만, 애석하게도 option, 이라는 값을 얻게됩니다...

이에 저는 어떠한 심볼이든 if문에서 걸리게 되면 무한 while 문으로 다시 돌아가 처음부터 다시 검사를
하고 싶습니다.

하지만 어떤식으로 해결해야할지 잘 모르겠습니다. 감사합니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호