【问题标题】:Validate parameters and string format验证参数和字符串格式
【发布时间】:2015-05-25 14:52:38
【问题描述】:

我需要验证字符串格式的参数数量和位置是否正确。 在我的系统中,高级用户(管理员)可以配置字符串格式的选项并选择组合框中的参数,一个特定的组合框以格式定位。 为了保存,我需要验证此配置是否正确。

这是为记录生成一个唯一的代码,这个代码是针对每个客户的。

在我的屏幕上,我有一个格式文本框,最多可以包含 6 个项目(或更少),每个项目我都有一个组合框。 组合框包含一种类型的值(例如序列、年份、数字,什么都没有(如果不需要,等等)。 我需要验证格式是否正确(例如 {0}-{1} 正确,{0}-{1}.{3} 错误)并且选择了相应的组合框(例如 {0}-{1}要求在组合框 0 和 1 中选择一个类型)

--更新--

我已经解决了这个问题,验证字符串格式的参数数量是否与所选值的数量和所选值的顺序相匹配(例如,如果用户将任何值保留为空并选择下一个我假设不正确),我尝试生成一个格式和值通知的字符串

【问题讨论】:

  • 好吧,您可以从字符串中提取所有{xx} 模式,然后根据xx 值检查是否选择了某些内容。如果没有看到您的代码并清楚了解您身边发生的事情,很难提出更多建议。
  • 为什么 {0}-{1}.{3} 不正确?也许他想省略第三个参数值?
  • 在这种情况下他可以选择第4个参数作为第3个。使用格式 {0}-{1}.{2} 并在相应的组合框中选择参数。我的想法是为用户简化

标签: c# string format string-formatting


【解决方案1】:

要将字符串与特定模式匹配,您应该查看正则表达式

然而,看起来它不仅仅是简单的模式消息传递——比如用户应该能够在运行时指定所需的模式?老实说,这个问题有点不清楚,所以我不明白你的全部要求。

【讨论】:

  • 如果您不了解 OP 的全部要求(坦率地说,我并不完全了解) - 那么最好在 cmets 中要求澄清。现在,您“回答”实际上根本没有回答 OP 的问题,而且看起来更像是评论而不是答案。
  • 好吧,如果他只是在寻找一个静态问题的匹配项,那么第一行就完美地回答了他的问题。鉴于 OP 有点不清楚,这可能就是他/她所需要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多