如何以通用方式从字符串中删除单词

时间:2019-03-29 18:18:22

标签: c#

我有一个基本上是URL的字符串,例如APIPAth / resources / customers / SSNNumber / authorizations / contracts。

SSNNumber可以是任何值。我想从字符串中删除的实际SSN编号和字符串应类似于APIPAth / resources / customers / authorizations / contracts。

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

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

3 个答案:

答案 0 :(得分:0)

在查看您提供的URL时,您似乎只想摆脱数字。您可以使用以下这一行完成此操作:

var output = Regex.Replace(input, @"[\d]", string.Empty);

答案 1 :(得分:0)

根据保持静止的方式,有很多方法可以给这只猫换皮。

一种方法是使用分隔符分割网址,然后将其重新加入

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/")

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

答案 2 :(得分:0)

如果编号为SSN,则其结果必须为000 00 0000表示9 digits的形式。 用/解析了一个字符串,您得到一个元素数组,说parsed

for(int i=0; i<parsed.length; i++){
  if(parsed[i].length === 9){
    ...keep this i...
  }
}

从整体分析中删除此分析后的[i],并与/合并