填充字符串的中间

padding the middle of a string

我有一个文本框字段,它接受一个字符限制为 10 的字符串。我想实现一个速记版本,因为字符串中有很多必须输入的零。所以字符串的一个例子是 T000028999。但我喜欢键入 T28999 并在 "T" 和“28999”之间填充零,并在文本框字段中显示为 T000028999 字符串。 这可能吗?

我尝试在 google 上搜索示例,但只找到了填充字符串开头和结尾的方法。

您想保留第一个字符,因此您可以使用 oldString.Chars(0) 来获取它。

您需要字符串的其余部分:oldString.Substring(1),您可以使用 PadLeft 选择的字符将其填充到您需要的宽度,如下所示:

Dim newString = oldString.Chars(0) & oldString.Substring(1).PadLeft(9, "0"c)

最好先检查 oldString 是否至少为 1 个字符,否则 .Chars(0) 会报错。

或者您可以插入一个包含所需数量“0”的新字符串:

Dim newString = oldString.Insert(1, New String("0"c, 10 - oldString.Length))

执行格式化的一个好地方是在控件的 Validating 事件处理程序中。 (TextChanged 事件处理程序不是一个好地方,因为它会干扰用户的键入。)


参考文献: