我的strings.Replace函数未按预期工作。(C#-->;Visual Basic.NET)
我试图创建一个聊天程序,过滤掉某个关键字 我的问题*的核心是: 这导致我的strings.Replace函数未按预期工作。(C#-->;Visual Basic.NET),c#,C#,我试图创建一个聊天程序,过滤掉某个关键字 我的问题*的核心是: 这导致result始终为“****”,而不是用for stars替换“dipshit”的原始字符串 完整的代码和可运行的示例- 出于某种原因,它会过滤掉任何关键字。 我只想用它来代替“笨蛋”这个词 下面是一张图片,展示了我的意思: *虽然这是一个非常令人困惑的示例,但它说明了为什么创建最小示例是有用的…您现在要做的是将文本框txtblock1设置为*****。因为Disphit.Replace返回它“发送”到文本框的字符串。因此,
result
始终为“****”,而不是用for stars替换“dipshit”的原始字符串
完整的代码和可运行的示例-
出于某种原因,它会过滤掉任何关键字。
我只想用它来代替“笨蛋”这个词
下面是一张图片,展示了我的意思:
*虽然这是一个非常令人困惑的示例,但它说明了为什么创建最小示例是有用的…您现在要做的是将文本框
txtblock1
设置为*****。因为Disphit.Replace
返回它“发送”到文本框的字符串。因此,无论您键入什么,该文本块都将设置为****
我假设您想将chatbericht
更改为******,如果它包含单词'dipshit'。在这种情况下,你应该检查它是否有,如果有。你把它换掉
例如:
string chatnaam = txtNaam.Text;
string chatbericht = txtBericht.Text;
txtblock1.Inlines.Add(new Bold(new Run(chatnaam )));
txtblock1.Inlines.Add(" says: ");
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);
chatbericht = chatbericht.Replace("Dipshit", "****"); // the change
txtblock1.Inlines.Add(chatbericht);
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);
当然,这个例子是区分大小写的,对于不区分大小写的替换,您必须执行一些正则表达式或重载replace方法来进行StringComparison
对于您将来的问题,请使用英语变量名。很难理解荷兰语(?)的意思/语境化,任何外语都是如此 这段代码的结果是什么,它与您期望的有什么不同?当我键入任何类型的文本时,我立即得到“****”。这是一张显示我的结果的图片。您正在调用一个与输入无关的字符串
txtblock1.Text=chatnaam.Replace(“Dipshit”,“***”)代码>?我不知道你想做什么,但我猜你想做什么
public partial class MainWindow: Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string chatnaam = txtNaam.Text;
string chatbericht = txtBericht.Text;
txtblock1.Inlines.Add(new Bold(new Run(chatnaam )));
txtblock1.Inlines.Add(" says: ");
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(chatbericht);
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);
string Dipshit = "Dipshit";
txtblock1.Text = Dipshit.Replace("Dipshit", "****");
}
string chatnaam = txtNaam.Text;
string chatbericht = txtBericht.Text;
txtblock1.Inlines.Add(new Bold(new Run(chatnaam )));
txtblock1.Inlines.Add(" says: ");
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);
chatbericht = chatbericht.Replace("Dipshit", "****"); // the change
txtblock1.Inlines.Add(chatbericht);
txtblock1.Inlines.Add(Environment.NewLine);
txtblock1.Inlines.Add(Environment.NewLine);