2

を使用して特定のカウントの後に説明テキストを部分文字列にしました.Substring(0, 100)。単語の途中で途切れたくないのですが、その場合は、単語の前の最初の空白に行きたいと思います。

次の文字が" "単語の途中にないかどうかを確認します。" "私の最大の問題は、 (空白)のインデックスを取得するためにどのように後退するかです。

これは私がこれまでに得たものです

        string description = "a long string";            

        description = Regex.Replace(description, @"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)>", String.Empty);
        var newString = (description.Count() > 101) ? description.Substring(0, 101) : description;

        //i tried something like this
        var whatIsNext = newString.IndexOf(" ", 100, -20);
4

3 に答える 3

3

私はあなたが探していると思います String.LastIndexOf

このインスタンス内で指定されたUnicode文字が最後に出現したゼロベースのインデックス位置を報告します。検索は指定された文字位置から始まり、文字列の先頭に向かって逆方向に進みます。

あなたはこのようなものが欲しいです:

int index = s.LastIndexOf(' ', 100);
于 2012-09-06T12:42:01.693 に答える
1

LastIndexOfを使用して、サブストリングに適用します

// The string we are searching.
string value = "Dot Net Perls";
//
// Find the last occurrence of ' '.
int index1 = value.LastIndexOf(' ');

リンク情報

于 2012-09-06T12:43:45.260 に答える
0

var whatIsNext = newString.Substring(0, newString.LastIndexOf(' '));

于 2012-09-06T12:42:52.863 に答える