如果字符串长度小于15,我如何获得字符串的前15个字符或更少?

时间:2017-02-20 01:46:06

标签: c# string

我试过用这个:

 Note = phrase.English.Substring(0, 15);

但如果字符串的长度小于15,则会失败。是否有一种标准方法可以在一个语句中执行此操作,即使字符串长度小于15也可以。

3 个答案:

答案 0 :(得分:4)

利用三元运算符:

Note = phrase.English.Length > 15? phrase.English.Substring(0, 15):phrase.English;

否则你可以使用扩展方法与string.Join一起使用,如下所示:

string  Note = String.Join("",phrase.English.Take(15));

.Take将获取指定的项目(如果存在)。在这里,您可以查看working example

答案 1 :(得分:1)

我实际创建了一个名为Truncate的扩展方法,我经常将其用于此目的 - 主要是为了防止大于数据库的字符串可以处理插入或更新的字符串:

    public static string Truncate(this string value, int maxLength)
    {
        if (string.IsNullOrEmpty(value)) return value;
        return value.Length <= maxLength ? value : value.Substring(0, maxLength);
    }

用法:

string s = "Hello World";
string t = s.Truncate(5);

答案 2 :(得分:1)

[...]
   self.completer.setModel(self.model)
   self.completer.activated.connect(self.tip_balloon)

def tip_balloon(self, text):
   print(text)