限制字符串的最大长度

本文关键字:字符串 | 更新日期: 2023-09-27 18:13:41

我需要防止字符串超过一定长度,如果超过,则截断字符串的最后一部分。

我使用GUI.TextField从用户获取字符串。

限制字符串的最大长度

用一个属性来处理截断:

public SomeClass {
    private const int MaxLength = 20; // for example
    private String _theString;
    public String CappedString {
        get { return _theString; }
        set {
            _theString = value != null && value.Length > MaxLength
                ? value.Substring(0, MaxLength)
                : value;
        }
    }
}

你可以在任何需要实现它的类中应用它。仅保留private字段、常数和属性CappedString

GUI.TextField允许您传入最大长度。您有两个选择:

static function TextField (position : Rect, text : String, maxLength : int) : String
static function TextField (position : Rect, text : String, maxLength : int, style : GUIStyle) : String

我认为这是它能得到的最简单的,因为我能把它放在一行。

(([STRING].Length > [MAX-LENGTH(int)]) ? [STRING].Substring(0, [MAX-LENGTH(int)]) : [STRING])

作为解释,它首先检查字符串是否超过10个字符,如果是,它用Substring限制字符串,如果不是,它只取整个字符串。

一些括号可能是不必要的,但对于我的目的,这是我所需要的。

无论如何,希望这有助于:)