使用c#设置自己的字符串格式
本文关键字:字符串 格式 自己的 设置 使用 | 更新日期: 2023-09-27 18:20:47
我目前正在为我们公司的股票开发一个应用程序。在这个应用程序中,我必须创建一个格式检查按钮。因此,如果文本框中的文本格式不正确,它应该会抛出一个错误。
我想过使用String.Format()
方法,但我认为我做错了,我不知道使用这种方法是否可行。我尝试了以下方法:
string format = String.Format("XXX.XX.XX.XX.X", txtStockFormat.Text);
if (format != txtStockFormat.Text)
{
MessageBox.Show("if");
}
else
{
MessageBox.Show("else");
}
我不知道String.Format()
是否是实现我想要的东西的正确方式,我想我不太理解它。我已经在这个网站上搜索过了,我看到有很多给定的格式,但我找不到设置自己格式的方法。
有人能告诉我怎样才能做到这一点吗?
建议:)
正如对您的问题的评论所说,您必须使用Regex
。大约一个月前,我也遇到过类似的问题,我花了一段时间才理解Regex
是如何工作的。
我想你正在寻找这样的东西:
string pattern = @"[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9]";
Match match = Regex.Match(txtStockFormat.Text, pattern);
if (match.Success)
{
// Do your stuff
}
else
{
// Do your stuff
}
在您的问题中,您想要XXX.XX.XX.XX.X
格式。让我们来看看前三个字母。在我的代码示例中,前三个字母可以是"a-z"、"a-z"answers"0-9"之间的数字。如果前三个字符只需要大写字母,则必须将模式更改为[A-Z]
。
string pattern = @"[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9][a-zA-Z0-9]'.[a-zA-Z0-9]";
^ ^ ^ ^
| | | |
1st char 2nd char 3rd char Point (separator) etc.
你可以用你想要的模式替换我上面写的模式。我为你在问题中发布的示例定义了模式。
更新:
正如@Rawling在评论中所说,为了让它更清晰、更简单,这将产生同样的效果:
string pattern = @"[a-zA-Z0-9]{3}'.[a-zA-Z0-9]{2}'.[a-zA-Z0-9]{2}'.[a-zA-Z0-9]{2}'.[a-zA-Z0-9]";
您的问题不清楚,因为您要求设置字符串格式,但在代码中,您试图将文本与该格式进行比较。无论如何,如果您想将字符串更改为自己想要的格式,您可以简单地使用ToString方法,如_yourString.ToString(_yourFormat).