我有一个字符串,其值为“Zesty Bean Bites South of the Border”。
我想将其缩减为三个单词并附加省略号,产生“Zesty Bean Bites ......”
我尝试使用substring()方法,但不会在单词上拆分。
答案 0 :(得分:1)
使用String.Split方法并使用'space'字符作为分隔符。然后使用String.Join方法将它们连接在一起。
答案 1 :(得分:1)
这应该这样做:
string title = "Zesty Bean Bites South of the Border";
string[] aParts = title.split(' ');
string newTitle = aParts[0] + aParts[1] + aParts[2] + "...";
如果在省略号后需要剩下的字符串,请继续:
newTitle += aParts[3] + aParts[4] + aParts[5] + aParts[6];
当然,如果标题长度不同,这在循环中更合适,并在aParts [2]之后添加省略号。为了安全起见,请检查aParts.Length以确保您实际上有三个单词来放置省略号。
答案 2 :(得分:1)
如果少于三个字符串,则处理。
我还考虑通过字符计数来做这件事:
public string NewTitle(string OldTitle)
{
int HowManyWords = 3;
string RetValue = "";
string[] parts = OldTitle.Split(' ');
for (int i = 0; i < parts.Length; i++)
{
if (i == 0)
{
RetValue += parts[i];
}
else
{
RetValue += " " + parts[i];
}
if (i >= (HowManyWords-1))
{
break;
}
}
return RetValue;
}