【问题标题】:Replace square brackets in C# [closed]替换 C# 中的方括号 [关闭]
【发布时间】:2012-11-11 13:49:38
【问题描述】:

有一个字符串是 HTML 页面的 innerHTML。其中,有一些内容......我需要逐个替换......我已经用以下公式替换了一些内容。

string formatted = str.replace("*", "")

这会将 HTML 页面中的所有 * 替换为空白。但我也需要将以下内容替换为空白。

[问题/]

[-选择- /]

[ ]

[上传]

[问题/]

所以我使用了如下代码:

str.replace("[Issue \/]", "")
str.replace("[-Select- \/]", "")
str.replace("[    ]", "")
str.replace("[Upload]", "")
str.replace("[Issue \/]", "")

但是我在上面的字符串的 HTML 内容中看不到任何替换内容。

HTML 中有一个图像按钮。我也需要更换那个图像按钮。

图片按钮的HTML代码如下:

<asp:ImageButton ID="btnAddHotel" runat="server" ImageUrl="/Style Library/images/icon-add.gif" OnClick="btnAddHotel_Click" OnClientClick="return HideAllTicketValidations();" />

如何替换所有这些字符串?

【问题讨论】:

  • 我不知道你到底想做什么。你想换什么?输入字符串有哪些示例?各自期望的输出是什么? “不工作”是什么意思?随机的 HTML 块与什么有什么关系?
  • 从您的代码中,我敢打赌str.replace("*","") 也不起作用
  • str.replace("[", "") 完美运行。给定一个像“something[else]”这样的字符串,它将把它转换成“somethingelse]”,这是它应该做的。问题是你想让它做什么?请提供输入字符串的示例以及您希望将其转换为的内容。
  • -1 征求答案而没有任何努力澄清问题。我也没有得到“html”的最后一部分。

标签: c# .net string replace escaping


【解决方案1】:

str.Replace 不会就地进行更改。相反,它返回一个新字符串。

尝试使用:

var newstr = str.Replace(...)

【讨论】:

  • 上帝告诉我如何使用这个 str.replace("[","") 替换方括号,而不是解决任何其他问题?我知道它会返回...
  • @PeteEngineer 然后请用 real 代码发布一个更好的问题,以便人们可以提供帮助。
  • 我现在发布了一个更好的
  • @PeteEngineer 1) 是Replace 不是replace 2) 你仍然没有显示你的真实代码str.replace("[Issue \/]","") 没有任何效果,无法编译 3) 你的输入字符串是什么样子的? 4) 你发的image buttondefintinition 的作用是什么?我建议阅读this
【解决方案2】:

您需要禁用特殊字符(括号),例如:

str = "Example [Issue]" 
str.replace("\[Issue\]", "")   //str == "Example "

【讨论】:

  • 不替换 - 这不是正则表达式。
  • 语法错误..它不工作
  • 重新“禁用特殊字符”:你不是说“转义特殊字符”吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 2017-11-17
  • 1970-01-01
  • 2019-06-23
相关资源
最近更新 更多