格式化字符串以匹配特定模式

时间:2017-01-26 18:00:59

标签: c# asp.net

我试图找出如何将字符串格式化为特定模式。

当用户输入他们的员工ID号时,他们经常会对他们的期望感到困惑。因为他们经常被告知他们的员工ID是5位数或4位数,取决于他们何时被雇用。

例如,我的员工ID号为E004033,但对于我们的大多数系统,我只需输入4033,系统就会找到我。

我们正在尝试将其添加到我们的一个自定义页面中。基本上我想要做的是将字符串格式化为E0XXXXX

因此,如果他们输入4033,则脚本会将其转换为E004033,如果他们输入0851之类的内容,则会将其转换为E000851或者如果他们输入{{} 1}}它会将其转换为11027

如果用户输入中缺少填充零和前导E011027,是否有办法?

2 个答案:

答案 0 :(得分:2)

你可以简单地说:

<resources>
<string name="app_name">Assignment</string>

<array name="citybreak">
    <item>Barcelona, Spain</item>
    <item>Berlin, Germany</item>
    <item>Copenhagen, Denmark</item>
    <item>Gothenburg, Sweden</item>
    <item>Milan, Italy</item>
</array>

<array name="sunsea">
    <item>Alicante, Spain</item>
    <item>Antalya, Turkey</item>
    <item>Athens, Greece</item>
    <item>Florida, USA</item>
    <item>Gran Canaria, Spain</item>
</array>

<array name="skisnow">
    <item>Kiruna, Sweden</item>
    <item>Trondheim, Norway</item>
    <item>Salzburg, Austria</item>
    <item>Kittila, Finland</item>
    <item>Ivalo, Finland</item>
</array>

删除现有的前导E(s)

var formattedId = "E" + id.PadLeft(6, '0');

答案 1 :(得分:1)

确保用户的输入是整数,然后使用String.Format格式化为6个空格。

int parsedId;
bool ok = int.TryParse(id, out parsedId);
if (ok)
{
    return String.Format("E{0:000000}", parsedId);
}