我有这样的地址
122/852 Mansrovar社会,斋浦尔,拉贾斯塔,印度
我需要编写一个提取 Mansrovar社会的函数我尝试了下面的代码但是给了我错误
string BuildingAddress = txtAddress.Substring(0, txtAddress.IndexOf(','));
BuildingAddress = BuildingAddress.Substring(BuildingAddress.IndexOf(' '), BuildingAddress.Length);
答案 0 :(得分:4)
string.Substring(int, int)
的第二个参数是你想要的子串的长度 - 所以
BuildingAddress = BuildingAddress.Substring(BuildingAddress.IndexOf(' '),
BuildingAddress.Length);
仅在IndexOf
返回0时才有效。
如果你只想从第一个空间开始""您可以使用单个参数来重载:
BuildingAddress = BuildingAddress.Substring(BuildingAddress.IndexOf(' '));
请注意,如果字符串不包含空格,那么仍然会失败 - 如果它有效,它将具有前导空格。你可能想要:
BuildingAddress = BuildingAddress.Substring(BuildingAddress.IndexOf(' ') + 1);
将始终有效,并跳过前导空格 - 尽管它只会跳过一个空间。
答案 1 :(得分:2)
String.Substring
有两个参数:start
和length
。你正在使用它,好像第二个是end
。不是。
BuildingAddress =
BuildingAddress.Substring(BuildingAddress.IndexOf(' '),
BuildingAddress.Length - BuildingAddress.IndexOf(' '));