-1

{ }like soで開始および終了する別の文字列があります{somestring}。一部の文字列のみが表示されるように、文字列から区切り記号を削除したいと考えています。文字列の長さを常に知っているとは限らないため、文字を数えることはできません。

多分これが役立つでしょう。これがコードです。ここのどこかで区切り記号を削除したいと思います。

  private static MvcHtmlString RenderDropDownList(FieldModel model)
    {
        ISerializer serializer = new SerializeJSon();
        var value = "";
        var tb1 = new TagBuilder("select");
        tb1.MergeAttribute("id", model.QuestionId);
        tb1.MergeAttribute("name", model.QuestionId);
        tb1.MergeAttributes(GetHtmlAttributes(model.HtmlAttributes));
        tb1.AddCssClass("form-field");

        var sb = new StringBuilder();
        MatchCollection matches = RegexHelper.GetBetweenDelimiter(model.FieldValues, "{", "}");
        foreach (Match match in matches)
        {
            var o = match;  //Solution var o = match.toString();
            var tb2 = new TagBuilder("option");
          //Solution  string newString = o.trim(new [] { "{","}"});
            tb2.SetInnerText(o.ToString()); //Solution tb2.SetInnerText(newString);
            sb.Append(tb2.ToString(TagRenderMode.Normal) + "\n");
        }

        tb1.InnerHtml = sb.ToString();
        return new MvcHtmlString(tb1.ToString(TagRenderMode.Normal));
    }
4

3 に答える 3

1

置換を使用できますか

string somestring = somestring.Replace("{","").Replace("}","");

または、文字列の最初と最後からのみ削除するStartsWithEndsWithを使用できます。次に例を示します。

string foo = "{something}";
if (foo.StartsWith("{"))
{
    foo = foo.Remove(0, 1);
}
if (foo.EndsWith("}"))
{
    foo = foo.Remove(foo.Length-1, 1);
}
于 2013-07-23T11:08:35.397 に答える
1
string newString = originalString.Trim(new[] {'{', '}'});
于 2013-07-23T11:09:22.077 に答える
-1

たとえば、置換を使用できます

string someString = "{somestring}";
string someOtherString = someString.Replace("{","").Replace("}","");
于 2013-07-23T11:11:40.760 に答える