如何使用 trim 函数在列表中 trim

How to use the trim function to trim inside of a list

我正在尝试 trim 一个名为 Input(对象形式 .json 文件)的项目,它位于 foreach 循环内。

我现在的密码是:

List<string> dhurl = new List<string>();

foreach (JObject item in jArray)
{
    dhurl.Add("https://" + (string)item.SelectToken("Input");
}

输入加“sm-tiktoktrends.com”,我要它只加“tiktoktrends.com”,如何用trim去掉“sm-”?

*为了澄清所有输入对象将需要 sm- 删除

您可能应该将 Substring(...)StartsWith(...) 一起使用,而不是 Trim(...):

string input = item.SelectToken("Input").ToString();
if (input.StartsWith("sm-"))
{
    input = input.Substring(3);
}
dhurl.Add("https://" + input);

dhurl.Add($"https://{item.SelectToken("Input").Replace("sm-","")}") ?

如果所有值都以“sm-”开头,问题不清楚。如果是,并且您愿意使用 LINQ:

List<string> dhurl = jArray.Select(item => "https://" + ((string)item.SelectToken("Input")).Substring(3)).ToList();

否则,我可能会这样做:

List<string> dhurl = jArray
    .Select(item => (string)item.SelectToken("Input"))
    .Select(item => "https://" + (item.StartsWith("sm-") ? item.Substring(3) : item))
    .LoList();

基于以下评论的新示例:

List<string> dhurl = jArray
    .Select(item =>
        string.Format(
            "https://{0}/?sig={1}",
            ((string)item.SelectToken("Input")).Substring(3),
            (string)item.SelectToken("Signature")
        ))
    .LoList();