Csharp: Searching Within a String

 /// <summary>
    /// 20130118
    /// 搜索字符串
    /// 塗聚文 締友計算機信息技術有限公司
    /// 捷為工作室
    /// </summary>
    public class StringSearchClass
    {
        /// <summary>
        /// 查找字符串
        /// StringIndexOf("1,2,3,4,5,6", "1,8");
        /// </summary>
        /// <param name="str1">字符串</param>
        /// <param name="judgestr">找查的字符串</param>
        /// <returns>返回是否存在</returns>
        public static bool StringIndexOf(string str1, string searchstr)
        {
            bool isExist = true;
            str1 = "," + str1 + ",";
            string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string strtemp in strs)
            {
                if (str1.IndexOf(',' + strtemp + ',') == -1)
                {
                    isExist = false;
                    break;
                }
            }
            return isExist;
        }
        /// <summary>
        /// 查找字符串
        /// 塗聚文
        /// </summary>
        /// <param name="str1">字符串</param>
        /// <param name="judgestr">找查的字符串</param>
        /// <returns></returns>
        public static bool StringContains(string str1, string searchstr)
        {
            bool isExist = true;
            str1 = "," + str1 + ",";
            string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string strtemp in strs)
            {
                if (!str1.Contains(',' + strtemp + ','))
                {
                    isExist = false;
                    break;
                }
            }
            return isExist;
        }
        /// <summary>
        /// 查找字符串
        /// 塗聚文
        /// </summary>
        /// <param name="str1">字符串</param>
        /// <param name="judgestr">找查的字符串</param>
        /// <returns></returns>
        public static bool StringRegex(string str1, string searchstr)
        {
            bool isExist = true;
            str1 = "," + str1 + ",";
            string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string strtemp in strs)
            {
                if (!Regex.Match(str1, strtemp, RegexOptions.IgnoreCase).Success)
                {
                    isExist = false;
                }
            }
            return isExist;
        }
    }

測出試:

//測試
            Stopwatch sw = new Stopwatch();

            sw.Start();
           // bool s = StringIndexOf("1,2,3,4,5,6", "1,6");//True,所耗時間:00:00:00.0003557
           // bool s = StringContains("1,2,3,4,5,6", "1,6");//True,所耗時間:00:00:00.0003625
            bool s = StringRegex("1,2,3,4,5,6", "1,6");//False,所耗時間:00:00:00.0286617 //True,所耗時間:00:00:00.0008295 //True,所耗時間:00:00:00.0008237
           sw.Stop();
           this.textBox1.Text=s.ToString()+",所耗時間:"+sw.Elapsed.ToString();

 

时间: 2024-11-02 23:54:53

Csharp: Searching Within a String的相关文章

怎么使用LINQ实现对List&amp;amp;lt;List&amp;amp;lt;string&amp;amp;gt;&amp;amp;gt;循环并拼接字符串

问题描述 List<List<string>>proplist=newList<List<string>>();proplist.Add(newList<string>(){"a","b","r"});proplist.Add(newList<string>(){"c","d","h"});proplist.Add(

十、会话状态

  10.1 会话状态概述 HTTP协议的"无状态"(Stateless)特点带来了一系列的问题.特别是通过在线商店购物时,服务器不能顺利地记住以前的事务就成了严重的问题.它使得"购物篮"之类的应用很难实现:当我们把商品加入购物篮时,服务器如何才能知道篮子里原先有些什么?即使服务器保存了上下文信息,我们仍旧会在电子商务应用中遇到问题.例如,当用户从选择商品的页面(由普通的服务器提供)转到输入信用卡号和送达地址的页面(由支持SSL的安全服务器提供),服务器如何才能记住

jsp Servlet基础入门学习:会话状态

js|servlet     10.1 会话状态概述 HTTP协议的"无状态"(Stateless)特点带来了一系列的问题.特别是通过在线商店购物时,服务器不能顺利地记住以前的事务就成了严重的问题.它使得"购物篮"之类的应用很难实现:当我们把商品加入购物篮时,服务器如何才能知道篮子里原先有些什么?即使服务器保存了上下文信息,我们仍旧会在电子商务应用中遇到问题.例如,当用户从选择商品的页面(由普通的服务器提供)转到输入信用卡号和送达地址的页面(由支持SSL的安全服务器

JSP显示会话信息实例

js|显示 package hall; import Java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.net.*;import java.util.*; public class ShowSession extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response)thro

Convert Code To HTML (C#)

using System;  using System.IO;  using System.Text;  using System.Text.RegularExpressions;  using System.Web;     namespace CodeHTML  {    public class TranslateCode    {      private class ProgrammingLanguage      {        public const string VB = "

JS调用CS里的带参方法

js调用CS里的方法有很多,我用一种简单的方法,如下 CS里 public string test() { return "Hello World"; } public string test() { return "Hello World"; } aspx 页面 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <

iOS 各版本中的新特性(What&amp;#39;s New in iOS)- 目录翻译完成

iOS 各版本中的新特性(What's New in iOS) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 介绍 Introduction文档组织结构 Organization of Thi

Lucene in action 笔记 search篇

一. 用lucene怎么完成search 1. 创建IndexSearcher IndexSearcher searcher = new IndexSearcher(directory); 2. 生成需要搜索的词 Term t = new Term("subject", "ant"); 3. 创建查询 Query query = new TermQuery(t); 4. search并得到结果 Hits hits = searcher.search(query);

C#调用WebService服务(动态调用)

原文:C#调用WebService服务(动态调用) 1 创建WebService using System; using System.Web.Services; namespace WebService1 { /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/", Description="测试服务")] [