【LABVIEW到C#】3》String的操作之Match Pattern Funtion.vi

C#实现如下

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace DEMO
{
    class Darrenstring
    {
        public class Matchpattern:Darrenstring
        {
            private string text;
            private string pattern;
            private int index;
            public bool ismatch;
            public Matchpattern(string Text, string Pattern)
            {
                text = Text;
                pattern = Pattern;
                Match a = Regex.Match(text,pattern);
                index=a.Index;
                ismatch = a.Success;
            }
            public int Index()
            {
                return index;
            }
            public string Before()
            {
                if (ismatch)
                {
                    return (text.Substring(0, index));
                }
                else return null;
            }
            public string After()
            {
                if (ismatch)
                {
                    return (text.Substring(index + pattern.Length, text.Length - pattern.Length-index));
                }
                else return null;
            }
        }
    }
}

类写好后 我们来做个试验 新建个winform程序

程序部分代码如下:

 private void Confirm_Click(object sender, EventArgs e)
        {
            Darrenstring.Matchpattern A = new Darrenstring.Matchpattern(Source.Text, Terminal.Text);
            //Terminal.Text = Convert.ToString(A.Index());
            before1.Text = A.Before();
            After.Text = A.After();
            IsMatched.Checked = A.ismatch;
        }

运行后结果图如下:

效果不错功能实现

MSDN资料参考

System.String.RegularExpressions命名空间说明         https://msdn.microsoft.com/zh-cn/library/System.Text.RegularExpressions(v=vs.80).aspx

Regex类说明     https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.80).aspx

时间: 2024-07-31 12:12:15

【LABVIEW到C#】3》String的操作之Match Pattern Funtion.vi的相关文章

【LABVIEW到C#】4》String的操作之Search and Replace.vi

C#封装如下: public class SearchAndRepalce : Darrenstring { public bool replaced; private string stringout; public SearchAndRepalce() { } public string searchandreplace(string inputstring, string searchstring, string replacestring, bool replaceall) { if (

使用 redis (基础, key操作, string类型操作)

使用redis set 类型: 没有重复元素 list 链表类型 有重复累型 sort set 类型 没有重复元素 1.1 存储数据 读取数据 // 数据储存在 内存中 set name laowen // OK 表示成功 set age 22    // ok 表示成功 set add beijing // OK 表示成功 get name // "laowen" 表示获取成功 get age // "22" 表示获取成功 get addr // "be

string系列操作

一.Move操作 <1> var pSource,pDest:PChar; len: integer; .......................//一些代码 Move(pSource,pDest,len); //错误 Move(pSource^,pDest^,len); //正确,根据Move函数:  S := PChar(@Source);也可以这样 <2> var a1,a2:array of char; ......  SetLength(a1,len);  SetLe

String字符串操作

char chars[] ={'a','b','c'}; String s = new String(chars); int len = s.length();//字符串长度 System.out.println(chars);//ab System.out.println(s);//abc System.out.println(len);//3 char ch = "zhangpei".charAt(5);下标从0开始 System.out.println(ch);//p Strin

string的+操作与StringBuilder对象

习惯在C#代码中写str+="xxx";这样代码的请注意啦,如果这种操作是针对单个变量作很多次叠加操作的,很有可能导致性能降低. 大家都知道string与StringBuilder的区别,这里就不说了,来看看例子,震撼一下: 分别是测试普通字符串进行5w次叠加操作 vs StringBuilder进行5w次Append操作: 可以看到,普通string操作是花了67秒(我双核CPU).StringBuilder是0.04秒.... 再看看对于string是否会被回收方面的测试,由图中也

LabVIEW之生产者/消费者模式--队列操作 彭会锋

LabVIEW之生产者/消费者模式--队列操作 彭会锋 本文章主要是对学习LabVIEW之生产者/消费者模式的学习笔记,其中涉及到同步控制技术-队列.事件.状态机.生产者-消费者模式,这几种技术在在本章中都会有侧重点的进行介绍和总结! 队列同步技术-操作函数 同步控制技术可以实现在多个VI之间或者同一VI 不同县城之间同步任务和交换数据:在LabVIEW中提供了‘同步’函数选板,包括通知器.队列.信号量.集合点.事件.首次调用函数,本文主要关注同步控制技术之队列技术: 队列操作函数: 1 “获取

string常用操作

十四.string常用操作 set key1 szk  #给key1赋值为szk get key1    #获取这个值value set key1 yc  #一个key对应一个value,多次赋值,会覆盖前面的value setex key3 10 1   #用来给key设定过期时间10秒 ttl key3查看时间 mset key1 1 key2 2 key3 3    #同时设置多个key mget key1 key2 key3 1) "1"2) "2" 3)

string 类操作的重载实现及其提供的其他常用成员函数

目录 1,string 类操作的重载实现 2,String类提供的其他常用成员函数 @ 1,string 类操作的重载实现 /* string 类操作的重载实现 */ class CMyString { public: CMyString(char *ptr = NULL) { if (ptr == NULL) { mpStr = new char[1]; *mpStr = '\0'; } else { mpStr = new char[strlen(ptr) + 1]; strcpy(mpSt

字符串中判断存在的几种模式和效率(string.contains、string.IndexOf、Regex.Match)

通常情况下,我们判断一个字符串中是否存在某值常常会用string.contains,其实判断一个字符串中存在某值的方法有很多种,最常用的就是前述所说的string.contains,相对来说比较常用的还有string.IndexOf和Regex.Match.直接上代码,后面在说些什么吧,通常情况下功能的实现最重要,作者的话,只对有心者有效. using System; using System.Collections.Generic; using System.Linq; using Syste