2017-08-28 53 views
3

由于并非所有用户都以正确的方式输入文本,因此我遇到了用户输入到Textbox的文本问题。用户应在以下格式经过一定数量的字符后的格式字符串

xx xxxxxx xxxxxx x 

有没有我可以把它们输入任何文本(通常在xxxxxxxxxxxxxxx格式),并有自动加空格的方式进入他们的文字吗?

我已查看过RegexInsertAt,ReplaceLastIndex,但我不确定如何使其正常工作。值得一提的是,文本是一串数字。任何帮助将不胜感激。

我试图实现在下面的链接中提到的,但我想我只是不明白Regex足以使其工作。

Use Regex in C# to insert spaces between ConcatenatedFileNamesLikeThis?

How to insert spaces between characters using Regex?

Regex to insert space C#

+0

我不确定正则表达式是你的问题的最佳解决方案,但如果你仍然想使用它,我会建议玩一个正则表达式工具,如regex101.com。为了记录,您可以通过匹配'^(\ d {2})(\ d {6})(\ d {6})(\ d)$'来完成您想要做的事情,并用' \ 1 \ 2 \ 3 \ 4'。 – CAustin

回答

7

如果您使用的WinForms,该MaskedEdit控制将强制用户在您指定的精确格式提供输入。只需在设计时使用遮罩属性提供您的输入遮罩,然后将其余部分留给控件。

对于你的具体格式,你的面具应该是:## ###### ###### #。请注意,掩码中的#是一个需要的数字的占位符。有关掩码占位符的完整详细信息,请参阅MSDN中的Using the MaskedEdit Control主题。