家信的正则表达式模式
本文关键字:模式 正则表达式 | 更新日期: 2023-09-27 18:35:01
我'正在寻找找到家写字母的正则表达式模式。
Eks(查找字母 d(。
1. Streetname 3d, 7000 Town Country.
2. Streetname 3 d, 7000 Town Country.
3. Streetname 13d, 7000 Town Country.
4. Streetname 13 d, 7000 Town Country.
我正在写 i C#。
以下各项的某种组合:
const string address = "Streetname 3d, 7000 Town Country";
string streetPart = address.Split(',')[0];
char letter = streetPart[streetPart.Length - 1];
bool isLetter = char.IsLetter(letter);
Debug.WriteLine("{0}, isLetter: {1}", letter, isLetter);
可能会工作...
输出:d, isLetter: true
我认为这种模式适用于您的 4 种情况。 我不测试代码,只是尝试并告诉我。
string sPattern = "[a-zA-Z 0-9]*([a-zA-Z]),.*";
int i = 0;
foreach (string s in address)
{
Match m = Regex.Match(s, sPattern);
if (m.Success){
houseLetter[i] = m.ToString();
} else {
houseLetter[i] = "Not Found";
}
i++;
}
如果您认为有一个正则表达式可以普遍解决此问题,请停止思考。按照你的计划,我父母的街道地址将是
Ioakim 3rd 4242, 7000 Town Country // "Ioakim 3rd" is the street name
如您所见,您肯定会有一定比例的错误结果。您的四个示例是否是唯一需要保证正确结果的情况?