我如何得到两个单词之间的两个数字(C#)

本文关键字:两个 数字 之间 单词 何得 | 更新日期: 2023-09-27 18:25:57

我有一个字符串"Building1Floor2",它总是这样的格式,我如何干净地获得建筑编号(例如1)和楼层编号。我想我需要一个正则表达式,但不完全确定这是最好的方法。如果格式保持不变,我可以使用索引,但如果我有一个高楼层编号,例如100,它就会断开。

附言:我在用C#。

我如何得到两个单词之间的两个数字(C#)

使用这样的正则表达式:

Building('d+)Floor('d+)

Regex在这里是一个不错的选择,如果"Building"answers"Floor"可以更改。例如:"Floor1Room23"

您可以使用"[A-Za-z]+([0-9]{1,})[A-Za-z]+([0-9]{1,})"

有了这些分组,现在1美元将是建筑编号,2美元将是楼层。

然而,如果"Building"answers"Floor"从未更改,那么regex可能有些过头了。。您可以使用字符串分割

查找"F"的索引及其子字符串。

int first = str.IndexOf("F") ;
String building = str.substring(1, first);