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 문으로 다시 돌아가 처음부터 다시 검사를
하고 싶습니다.
하지만 어떤식으로 해결해야할지 잘 모르겠습니다. 감사합니다.