String[]
文字列内の各単語のに変換する必要がある文字列があります。ただし、単語に含まれるハイフンとアポストロフィを除いて、空白や句読点は必要ありません。
入力例:
Hello! This is a test and it's a short-er 1. - [ ] { } ___)
入力から作成された配列の例:
[ "Hello", "this", "is", "a", "test", "and", "it's", "a", "short-er", "1" ]
現在、これは私が試したコードです
(注:2番目は、string.First()
が呼び出されたときにプログラムの後半でエラーになります):
private string[] ConvertWordsFromFile(String NewFileText)
{
char[] delimiterChars = { ' ', ',', '.', ':', '/', '|', '<', '>', '/', '@', '#', '$', '%', '^', '&', '*', '"', '(', ')', ';' };
string[] words = NewFileText.Split(delimiterChars, StringSplitOptions.RemoveEmptyEntries);
return words;
}
また
private string[] ConvertWordsFromFile(String NewFileText)
{
return Regex.Split(NewFileText, @"\W+");
}
2番目の例は次のコードでクラッシュします
private string GroupWordsByFirstLetter(List<String> words)
{
var groups =
from w in words
group w by w.First();
return FormatGroupsByAlphabet(groups);
}
具体的には、w.First()
が呼び出されたとき。