限制字符串的最大长度
本文关键字:字符串 | 更新日期: 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限制字符串,如果不是,它只取整个字符串。
一些括号可能是不必要的,但对于我的目的,这是我所需要的。
无论如何,希望这有助于:)