C#获取关键字附近文字算法实例

本文实例讲述了C#获取关键字附近文字算法。分享给大家供大家参考。具体如下:

算法描述:

1.将文章以字符串的形式传入。
2.用正则表达式进行匹配。
3.在匹配中返回关键字附近的文件。
4.知道匹配结束。

流程图如下:

public string GetLeng(string st)
{
  string s = "";
  int i = 1;
  string key = Request.QueryString["KeyWord"].ToString();
  Regex reg = new Regex(key);
  Match mat = reg.Match(st);
  while (mat.Success)
  {
   if (mat.Index - 15 > 0 && mat.Index + 15 < st.Length)
   {
    s = s + st.Substring(mat.Index - 15, 30);
    // MessageBox.Show(mat.Index.ToString());//位置
    mat = reg.Match(st, mat.Index + mat.Length);
    // this.richTextBox2.AppendText(mat);
   }
   if (mat.Index == 0)
   {
    // if (mat.Index - 30 >= 0)
    //{ s = s + st.Substring(0, 30);}
    //else
    // {
     s = s + st.Substring(0, st.Length);
    //}
   }
    if (mat.Index == st.Length - key.Length)
   {
     s = s + st.Substring(0, 30);
   }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#编程实现Excel文档中搜索文本内容的方法及思路

    打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks.Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单个工作表. 搜索的思路对应上述集合和对象,可以这样表述:要搜索的文本可能存在Excel文档当中的某个工

  • C#判断访问来源是否为搜索引擎链接的方法

    本文实例讲述了C#判断访问来源是否为搜索引擎链接的方法.分享给大家供大家参考.具体分析如下: 这段代码通过获取UrlReferrer判断访客是否来自常用的搜索引擎,不是完全准确,可做参考 /// 判断是否来自搜索引擎链接 /// 是否来自搜索引擎链接 public static bool IsSearchEnginesGet() { if (HttpContext.Current.Request.UrlReferrer == null) { return false; } string[] Se

  • c#反射表达式树模糊搜索示例

    复制代码 代码如下: public static Expression<Func<T, bool>> GetSearchExpression<T>(string SearchString)        {            Expression<Func<T, bool>> filter = null; if (string.IsNullOrEmpty(SearchString)) return null;            var l

  • C#搜索文字在文件及文件夹中出现位置的方法

    本文实例讲述了C#搜索文字在文件及文件夹中出现位置的方法.分享给大家供大家参考.具体如下: 在linux中查询文字在文件中出现的位置,或者在一个文件夹中出现的位置,用命令: 复制代码 代码如下: grep -n '需要查询的文字' * 就可以了.今天做了一个C#程序,专门用来找出一个指定字符串在文件中的位置,与一个指定字符串在一个文件夹中所有的出现位置. 一.程序代码 using System; using System.Collections.Generic; using System.Lin

  • C#创建二叉搜索树的方法

    本文实例讲述了C#创建二叉搜索树的方法.分享给大家供大家参考.具体如下: public static BinaryTreeNode BuildBinarySearchTree(int[] sortedArray) { if (sortedArray.Length == 0) return null; int _mid = sortedArray.Length / 2; BinaryTreeNode _root = new BinaryTreeNode(sortedArray[_mid]); in

  • C#文字换行的实现方法

    本文实例讲述了C#文字换行的实现方法.分享给大家供大家参考.具体实现方法如下: 关键代码如下: 复制代码 代码如下: #region 文字换行 /// <summary> /// 文字换行 /// <para>eg:StringHelper.WrapText("YanZhiwei", 3);==>"Yan\r\nZhi\r\nwei"</para> /// </summary> /// <param nam

  • C#二叉搜索树插入算法实例分析

    本文实例讲述了C#二叉搜索树插入算法.分享给大家供大家参考.具体实现方法如下: public class BinaryTreeNode { public BinaryTreeNode Left { get; set; } public BinaryTreeNode Right { get; set; } public int Data { get; set; } public BinaryTreeNode(int data) { this.Data = data; } } public void

  • asp.net(c#)捕捉搜索引擎蜘蛛和机器人

    下面是访问日志文件2008-8-13 14:43:22 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) 2008-8-13 14:43:27 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) 2008-8-13 14:44:18 Mozi

  • C#使用foreach语句搜索数组元素的方法

    本文实例讲述了C#使用foreach语句搜索数组元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过foreach语句对数组遍历,然后对元素进行逐个比较的方法来查找数组中的元素 using System; public class Search { public static void Main() { int[] nums = new int[10]; int val; bool found = false; // give nums some values for(int i =

  • C#给文字换行的小技巧

    刚刚看MSDN的一个例子无意发现的小技巧,大家一看就明白了,不过好像蛮有用的,先记下咯,以后慢慢研究. using System; namespace NewLine { class Test { static void Main() { string s1 = "白日依山尽"; string s2 = "黄河入海流"; string s3 = "欲穷千里目"; string s4 = "更上一层楼"; Console.Wri

随机推荐