我想在java中比较不同模式的URI字符串,我想要尽可能快的代码.
我应该使用:
if(uri.contains("/br/fab") || uri.contains("/br/err") || uri.contains("/br/sts")
Run Code Online (Sandbox Code Playgroud)
或类似的东西:
if(uri.matches(".*/br/(fab|err|sts).*"))
Run Code Online (Sandbox Code Playgroud)
请注意,我可以使用更多uri,并且经常调用此方法.
我的选择之间最好的答案是什么?
我有一个StringBuilder命名stb_Swap_Tabu用来存储课程的名称,我使用下面的方法找到一个过程:
stb_Swap_Tabu.ToString.Contains("CourseName")
Run Code Online (Sandbox Code Playgroud)
就我而言,性能是最重要的问题.有没有更快的方法?
由于在.NET中没有不区分大小写string.Contains()的情况(但是string.Equals()存在一个不区分大小写的版本让我感到困惑,但我离题了),使用RegEx.IsMatch()与使用之间的性能差异是什么String.ToUpper().Contains()?
例:
string testString = "tHiSISaSTRINGwiThInconSISteNTcaPITaLIZATion";
bool containsString = RegEx.IsMatch(testString, "string", RegexOptions.IgnoreCase);
bool containsStringRegEx = testString.ToUpper().Contains("STRING");
Run Code Online (Sandbox Code Playgroud)
我一直听说这string.ToUpper()是一个非常昂贵的电话,所以当我想进行string.Contains()比较时,我不愿意使用它,但RegEx.IsMatch()在性能方面如何比较呢?
是否有更有效的方法进行此类比较?
哪个更快,更可取,为什么?
两者之间的机制有何不同?
我需要从UserAgent中搜索一些值,大多数值都可以在没有通配符的情况下使用(例如,如果我想抓住我搜索的手机iPhone而不是*iPhone*通配符).
我有一个有多个子文件夹的文件夹.每个子文件夹中都包含许多.dot和.txt文件.
在C#.NET中是否有一个简单的解决方案,它将迭代每个文件并检查该文件的内容中是否有关键短语或关键字?
Document Name Keyword1 Keyword2 Keyword3 ...
test.dot Y N Y
Run Code Online (Sandbox Code Playgroud)
总结一下:
提前致谢
将用户inpit用于文本框,我想搜索目录中哪个文件包含该文本.然后我想解析一下这些信息
但我似乎无法找到字符串或至少返回信息.任何帮助将不胜感激.
我目前的代码:
private void btnSearchSerial_Click(object sender, EventArgs e)
{
dynamic dirScanner = @"\\mypath\";
string strSerial;
string strSID;
string strInputLine;
string strOutput;
strSerial = Convert.ToString(txtSerialSearch);
strSID = Convert.ToString(txtSID);
if (txtSerialSearch.Text != "" && txtSID.Text != "")
{
try
{
string[] allFiles = Directory.GetFiles(dirScanner);
foreach (string file in allFiles)
{
if (file.EndsWith(".txt"))
{
using (StreamReader sr = new StreamReader(file))
{
while (sr.Peek() >= 0)
{
strInputLine = sr.ReadLine();
if (strInputLine.Contains(strSerial))
{
strOutput = Convert.ToString(strInputLine);
lblOutput.Text = Convert.ToString(strOutput);
}
}
}
} …Run Code Online (Sandbox Code Playgroud)