在使用.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);
答案 0 :(得分:3)
我认为您正在寻找String.LastIndexOf
:
报告此实例中最后一次出现的指定Unicode字符的从零开始的索引位置。搜索从指定的字符位置开始,然后向后朝向字符串的开头。
你想要这样的东西:
int index = s.LastIndexOf(' ', 100);
答案 1 :(得分:1)
使用LastIndexOf并将其应用于子字符串
// The string we are searching.
string value = "Dot Net Perls";
//
// Find the last occurrence of ' '.
int index1 = value.LastIndexOf(' ');
链接Info
答案 2 :(得分:0)
var whatIsNext = newString.Substring(0, newString.LastIndexOf(' '));