C# Blazor WASM(.NET 5)下拆分PokeApi URI提取数字的实现方案
.NET 5 Blazor WASM 提取宝可梦ID方案
两种均为无额外依赖的简单实现,兼容末尾带/、不带/的PokeApi URI格式:
方法1:内置Uri类实现(最稳妥,自动适配URI规范)
// 输入的PokeApi接口地址 string apiUri = "https://pokeapi.co/api/v2/pokemon/201/"; Uri uri = new Uri(apiUri); // 拆分URI段后过滤空值取最后一段即为ID string pokemonId = uri.Segments .Select(s => s.TrimEnd('/')) .Last(s => !string.IsNullOrWhiteSpace(s)); // 拼接Sprite资源链接 string spriteUri = $"https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/{pokemonId}.png";
方法2:纯字符串拆分实现(符合分段取倒数索引的需求逻辑)
// 输入的PokeApi接口地址 string apiUri = "https://pokeapi.co/api/v2/pokemon/201/"; // 按/拆分并自动移除所有空段 string[] uriSegments = apiUri.Split('/', StringSplitOptions.RemoveEmptyEntries); // 直接取最后一段即为ID,也可替换为uriSegments.Last()写法 string pokemonId = uriSegments[^1]; // 拼接Sprite资源链接 string spriteUri = $"https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/{pokemonId}.png";
注:上述代码无需引入额外NuGet包,可直接在Blazor WASM项目中运行。
内容的提问来源于stack exchange,提问作者AlThePal78
相关产品推荐
相关产品推荐

