首页 > 解决方案 > 如何以通用方式从字符串中删除单词

问题描述

我有一个字符串,它基本上是一个类似于 APIPAth/resources/customers/SSNNumber/authorizations/contracts 的 url。

SSNNumber 可以是任何值。它是我想从字符串中删除的实际 SSN 号码,字符串应该看起来像 APIPAth/resources/customers/authorizations/contracts。

我找不到合适的解决方案,其中不对单词进行硬编码并删除字符串

我尝试使用查找和替换,但我认为该功能需要特定的单词

标签: c#

解决方案


有很多方法可以剥去这只猫的皮,这取决于什么是静止的。

一种方法是通过分隔符拆分 url 并将它们重新加入

var url = @"APIPAth/resources/customers/SSNNumber/authorizations/contracts";
var items = new List<string>(url.Split('/'));
items.RemoveAt(3);
url = string.Join("/", items);

另一种方法是使用Regex

var url = @"APIPAth/resources/customers/SSNNumber/authorizations/contracts";
url = Regex.Replace(url, @"/customers/[^/]+/authorizations/", "/customers/authorizations/")

如果您详细说明您对通用解决方案的期望,即哪些部分保持静态,那么我可以更好地帮助您


推荐阅读