簡體   English   中英

如果字符串的長度小於15,如何獲取字符串的前15個字符或更少的字符?

[英]How can I get the first 15 characters of a string or less if the string is less than 15 in length?

我嘗試使用此:

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

但是,如果字符串的長度小於15,則失敗。 有沒有一種標准的方法可以在一個語句中做到這一點,即使該字符串的長度小於15,該語句也可以工作。

利用三元運算符:

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

否則,您可以使用擴展方法Take與string.Join一起使用,如下所示:

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

.Take將接受指定的項目(如果存在)。 在這里,您可以查看一個有效的示例

我實際上創建了一個名為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);
string one = "12345678901234567890";
string other = string.Join("",one .Take(15));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM