C# で長いテキストを切り捨てようとしていますが、文字列が単語の途中で切れてしまうのは避けたいです。文字列を単語の末尾で切り捨てるのに使用できる関数を持っている人はいますか?
例えば:
"This was a long string..."
ない:
"This was a long st..."
ベストアンサー1
以下を試してください。これは非常に基本的なものです。希望の長さから始まる最初のスペースを検索するだけです。
public static string TruncateAtWord(this string value, int length) {
if (value == null || value.Length < length || value.IndexOf(" ", length) == -1)
return value;
return value.Substring(0, value.IndexOf(" ", length));
}