using System;
using System.Text;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public class Test
{
private static string[] productCodes = new[] {
"MD0133776311I",
"M10133776311I",
"M20133776311I"
};
private static Dictionary<char, char> replacementMap = new Dictionary<char, char> {
{ '1', 'I' },
{ '2', 'S' },
};
private static Regex startsWithTwoLettersRegex = new Regex("^([A-Z]{2})");
public static void Main()
{
foreach (var code in productCodes)
{
Console.Write("{0} -> ", code);
if (!startsWithTwoLettersRegex.Match(code).Success)
{
Console.WriteLine(FixProductCode(code));
}
else
{
Console.WriteLine("OK!");
}
}
}
static string FixProductCode(string code)
{
StringBuilder sb = new StringBuilder(code);
sb[1] = replacementMap[code[1]];
return sb.ToString();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXByaXZhdGUgc3RhdGljIHN0cmluZ1tdIHByb2R1Y3RDb2RlcyA9IG5ld1tdIHsgCgkJIk1EMDEzMzc3NjMxMUkiLAoJCSJNMTAxMzM3NzYzMTFJIiwKCQkiTTIwMTMzNzc2MzExSSIKCX07CgoJcHJpdmF0ZSBzdGF0aWMgRGljdGlvbmFyeTxjaGFyLCBjaGFyPiByZXBsYWNlbWVudE1hcCA9IG5ldyBEaWN0aW9uYXJ5PGNoYXIsIGNoYXI+IHsKCQl7ICcxJywgJ0knIH0sCgkJeyAnMicsICdTJyB9LAoJfTsKCglwcml2YXRlIHN0YXRpYyBSZWdleCBzdGFydHNXaXRoVHdvTGV0dGVyc1JlZ2V4ID0gbmV3IFJlZ2V4KCJeKFtBLVpdezJ9KSIpOwoKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlmb3JlYWNoICh2YXIgY29kZSBpbiBwcm9kdWN0Q29kZXMpCgkJewoJCQlDb25zb2xlLldyaXRlKCJ7MH0gLT4gIiwgY29kZSk7CgkJCWlmICghc3RhcnRzV2l0aFR3b0xldHRlcnNSZWdleC5NYXRjaChjb2RlKS5TdWNjZXNzKQoJCQl7CgkJCQlDb25zb2xlLldyaXRlTGluZShGaXhQcm9kdWN0Q29kZShjb2RlKSk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlDb25zb2xlLldyaXRlTGluZSgiT0shIik7CQoJCQl9CgkJfQoJfQoJCglzdGF0aWMgc3RyaW5nIEZpeFByb2R1Y3RDb2RlKHN0cmluZyBjb2RlKQoJewoJCVN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3RyaW5nQnVpbGRlcihjb2RlKTsKCQlzYlsxXSA9IHJlcGxhY2VtZW50TWFwW2NvZGVbMV1dOwoJCXJldHVybiBzYi5Ub1N0cmluZygpOwoJfQp9