c# - 脚本中的字符串 [] 但 []
问题描述
我正在为我的游戏制作一个简单的坏词过滤器!badwords = string[] (这意味着我可以将所有应该被阻止的坏词一个一个地放在 strings[] 中。(图一)
问题是我希望阻止许多坏词,并且将所有坏词一一放入 strings[]可能需要太多时间。
解决方案:是否有可能以某种方式将所有不好的词放入脚本中?例如,我可以从坏词列表中复制和粘贴它们吗?
我尝试过的:我尝试将string[] 设置为普通字符串,然后 string = "badwords" 然后我收到一个错误,指出该字符串无法转换为 char 或类似的东西(图 4)
我很感谢任何帮助!:D
编辑:那是新代码,我不确定如何将它变成 string[] badwors?我现在注意到,在第二张图片中,“String badwords”没有 [],但通常在 string(String[] badwords;) 之后有一个 []
public static void FormatBadWords()
{
string pattern = "[,]+";
string input = "bad, toobad, crazy";
string[] result = Regex.Split(input, pattern,
RegexOptions.IgnoreCase,
TimeSpan.FromMilliseconds(500));
for (int ctr = 0; ctr < result.Length; ctr++)
{
Console.Write("'{0}'", result[ctr]);
if (ctr < result.Length - 1)
Console.Write(", ");
}
Console.WriteLine();
}
解决方案
您可以使用 string.Split() 并使用带有逗号分隔值的文本文件:
class Program
{
static void Main(string[] args)
{
//Assume this as your string that needs fiter
string myString = "These are my bad words: bad, toBad";
//Put words in a file or simply hardcode: string badWordsCommaSeperated = "bad, toBad"
string badWordsCommaSeperated = File.ReadAllText(@"..\..\BadWords.txt");
//Catch the above Comma-Seperated string in string array
string[] badWords = badWordsCommaSeperated.Split(',');
// Loop all bad words in the array using foreach and replace myString
foreach(string badWord in badWords)
{
myString = myString.Replace(badWord, "");
}
Console.WriteLine(myString);
//Final Value of myString: These are my words: ,
}
}
}
推荐阅读
- ios - iOS上的Ionic InAppBrowser加载白色空白屏幕错误
- azure - 用于获取指标统计信息的 SDK
- angularjs - 如何知道当前 $formatters 操作正在针对哪个模型属性运行?
- c++ - (C++) 修改了常量引用?
- oauth-2.0 - 如何在 OpenID Connect 中使用访问令牌进行单点登录?
- javascript - 为什么 jquery 和 javascript 模糊事件无限循环
- javascript - 拆分后如何分配整数值给el的某些孩子?
- python - 使用 PythonAPI 向 CosmosDB 添加空间索引
- sql - Google Big Query 标准 SQL,在 SELECT 语句中添加一列
- python - 如何从我的 python 图表生成基于 Web 的报告