如何处理字符串,举例name
open
close如何变成'name'+
'open'+
'close'+请提供一小段代码,万分感谢。

解决方案 »

  1.   

    String str = @"aaaaa bbbbbb";str = Regex.Replace(str, "([a-zA-Z0-9]+)", @"'$1'+");之后str="'aaaaa'+ 'bbbbbb'+"
      

  2.   


                string name = "name";
                string open = "open";
                string close = "close";            Regex regex = new Regex("([a-zA-Z0-9]+)");//定义正则表达式,匹配  任意连续的字母和数字(或二者的组合)
                string replace = @"'$1'+";                //指定替换的模式为 '被捕获的任意连续的字母或数字'+   ($1表示被捕获的字符组1)
                name = regex.Replace(name, replace);      //把name替换成   'name'+
                open = regex.Replace(open, replace);
                close = regex.Replace(close, replace);
      

  3.   

    我看明白了,但是我的目的是把
            [iPassCardID] [int] NOT NULL,
    [iECardID] [int] NOT NULL,
    [iECardType] [tinyint] NOT NULL,
    [iOwnerID] [tinyint] NOT NULL,
    [iOwnerNetwork] [smallint] NOT NULL,
    [iOwnerToll] [numeric](9, 4) NOT NULL,
    [iPassCardNet] [smallint] NULL,
    [tmEntryDT] [datetime] NULL,
    [iEntryShift] [tinyint] NULL,
    [iEntryST_ID] [int] NULL,
    [iEntryLane] [smallint] NULL,
    [iEntryToll_ID] [int] NULL,
    [tmEntryShiftD] [smalldatetime] NULL,
    [iEntryStatus] [int] NULL,
    [iEntryVType] [tinyint] NULL,
    [iEntryNetwork] [smallint] NULL,
    [fTotalToll] [numeric](9, 4) NULL,
    [fRebate] [numeric](9, 2) NULL,
    [iDeviceStatus] [smallint] NULL,
    [iRecordType] [int] NULL,
    [iFlagStation] [int] NULL,
    [iVehiclelicense] [int] NULL,
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [iTotalWeight] [int] NULL,
    [iTotalLimit] [int] NULL,
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL,
    [iTicStatus] [tinyint] NULL,
    [iSpare1] [int] NULL,
    [iSpare2] [int] NULL,
    [iSpare3] [int] NULL,
    [iVerifyCode] [int] NULL,
    [iTransferFlag] [int] NULL,
    [iExportFlag] [tinyint] NULL,
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,
    这样一组数据库表结构当作一个SQL串来使用,目的是在每一行的前面加’ 每一行的最后加’+ 
    如此正则表达式改如何写呢,谢谢帮助,万分感谢。
      

  4.   

    str = "'" + str + "'+";
      

  5.   


     string str = @"[iPassCardID] [int] NOT NULL, 
    [iECardID] [int] NOT NULL, 
    [iECardType] [tinyint] NOT NULL, 
    [iOwnerID] [tinyint] NOT NULL, 
    [iOwnerNetwork] [smallint] NOT NULL, 
    [iOwnerToll] [numeric](9, 4) NOT NULL, 
    [iPassCardNet] [smallint] NULL, 
    [tmEntryDT] [datetime] NULL, 
    [iEntryShift] [tinyint] NULL, 
    [iEntryST_ID] [int] NULL, 
    [iEntryLane] [smallint] NULL, 
    [iEntryToll_ID] [int] NULL, 
    [tmEntryShiftD] [smalldatetime] NULL, 
    [iEntryStatus] [int] NULL, 
    [iEntryVType] [tinyint] NULL, 
    [iEntryNetwork] [smallint] NULL, 
    [fTotalToll] [numeric](9, 4) NULL, 
    [fRebate] [numeric](9, 2) NULL, 
    [iDeviceStatus] [smallint] NULL, 
    [iRecordType] [int] NULL, 
    [iFlagStation] [int] NULL, 
    [iVehiclelicense] [int] NULL, 
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTotalWeight] [int] NULL, 
    [iTotalLimit] [int] NULL, 
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTicStatus] [tinyint] NULL, 
    [iSpare1] [int] NULL, 
    [iSpare2] [int] NULL, 
    [iSpare3] [int] NULL, 
    [iVerifyCode] [int] NULL, 
    [iTransferFlag] [int] NULL, 
    [iExportFlag] [tinyint] NULL, 
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    ";str = Regex.Replace(str, "([^,]+)", "'$1'+");//匹配任意字符串在遇到","时结束匹配组,将之前的匹配替成  '匹配项'+
    替换后的字符串是'[iPassCardID] [int] NOT NULL'+,' 
    [iECardID] [int] NOT NULL'+,' 
    [iECardType] [tinyint] NOT NULL'+,' 
    [iOwnerID] [tinyint] NOT NULL'+,' 
    [iOwnerNetwork] [smallint] NOT NULL'+,' 
    [iOwnerToll] [numeric](9'+,' 4) NOT NULL'+,' 
    [iPassCardNet] [smallint] NULL'+,' 
    [tmEntryDT] [datetime] NULL'+,' 
    [iEntryShift] [tinyint] NULL'+,' 
    [iEntryST_ID] [int] NULL'+,' 
    [iEntryLane] [smallint] NULL'+,' 
    [iEntryToll_ID] [int] NULL'+,' 
    [tmEntryShiftD] [smalldatetime] NULL'+,' 
    [iEntryStatus] [int] NULL'+,' 
    [iEntryVType] [tinyint] NULL'+,' 
    [iEntryNetwork] [smallint] NULL'+,' 
    [fTotalToll] [numeric](9'+,' 4) NULL'+,' 
    [fRebate] [numeric](9'+,' 2) NULL'+,' 
    [iDeviceStatus] [smallint] NULL'+,' 
    [iRecordType] [int] NULL'+,' 
    [iFlagStation] [int] NULL'+,' 
    [iVehiclelicense] [int] NULL'+,' 
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [iTotalWeight] [int] NULL'+,' 
    [iTotalLimit] [int] NULL'+,' 
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [iTicStatus] [tinyint] NULL'+,' 
    [iSpare1] [int] NULL'+,' 
    [iSpare2] [int] NULL'+,' 
    [iSpare3] [int] NULL'+,' 
    [iVerifyCode] [int] NULL'+,' 
    [iTransferFlag] [int] NULL'+,' 
    [iExportFlag] [tinyint] NULL'+,' 
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    '+
      

  6.   

    上面代码出现了错误把(9,4)也给替换了请改用下面的代码
    string str = @"[iPassCardID] [int] NOT NULL, 
    [iECardID] [int] NOT NULL, 
    [iECardType] [tinyint] NOT NULL, 
    [iOwnerID] [tinyint] NOT NULL, 
    [iOwnerNetwork] [smallint] NOT NULL, 
    [iOwnerToll] [numeric](9, 4) NOT NULL, 
    [iPassCardNet] [smallint] NULL, 
    [tmEntryDT] [datetime] NULL, 
    [iEntryShift] [tinyint] NULL, 
    [iEntryST_ID] [int] NULL, 
    [iEntryLane] [smallint] NULL, 
    [iEntryToll_ID] [int] NULL, 
    [tmEntryShiftD] [smalldatetime] NULL, 
    [iEntryStatus] [int] NULL, 
    [iEntryVType] [tinyint] NULL, 
    [iEntryNetwork] [smallint] NULL, 
    [fTotalToll] [numeric](9, 4) NULL, 
    [fRebate] [numeric](9, 2) NULL, 
    [iDeviceStatus] [smallint] NULL, 
    [iRecordType] [int] NULL, 
    [iFlagStation] [int] NULL, 
    [iVehiclelicense] [int] NULL, 
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTotalWeight] [int] NULL, 
    [iTotalLimit] [int] NULL, 
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTicStatus] [tinyint] NULL, 
    [iSpare1] [int] NULL, 
    [iSpare2] [int] NULL, 
    [iSpare3] [int] NULL, 
    [iVerifyCode] [int] NULL, 
    [iTransferFlag] [int] NULL, 
    [iExportFlag] [tinyint] NULL, 
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    ";            str = Regex.Replace(str, @"([^,]+)", "'$1'+");            str = Regex.Replace(str, @"(\d+)[\s]*'[+],'[\s]*(\d+)", "$1,$2");
    '[iPassCardID] [int] NOT NULL'+,' 
    [iECardID] [int] NOT NULL'+,' 
    [iECardType] [tinyint] NOT NULL'+,' 
    [iOwnerID] [tinyint] NOT NULL'+,' 
    [iOwnerNetwork] [smallint] NOT NULL'+,' 
    [iOwnerToll] [numeric](9,4) NOT NULL'+,' 
    [iPassCardNet] [smallint] NULL'+,' 
    [tmEntryDT] [datetime] NULL'+,' 
    [iEntryShift] [tinyint] NULL'+,' 
    [iEntryST_ID] [int] NULL'+,' 
    [iEntryLane] [smallint] NULL'+,' 
    [iEntryToll_ID] [int] NULL'+,' 
    [tmEntryShiftD] [smalldatetime] NULL'+,' 
    [iEntryStatus] [int] NULL'+,' 
    [iEntryVType] [tinyint] NULL'+,' 
    [iEntryNetwork] [smallint] NULL'+,' 
    [fTotalToll] [numeric](9,4) NULL'+,' 
    [fRebate] [numeric](9,2) NULL'+,' 
    [iDeviceStatus] [smallint] NULL'+,' 
    [iRecordType] [int] NULL'+,' 
    [iFlagStation] [int] NULL'+,' 
    [iVehiclelicense] [int] NULL'+,' 
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [iTotalWeight] [int] NULL'+,' 
    [iTotalLimit] [int] NULL'+,' 
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [iTicStatus] [tinyint] NULL'+,' 
    [iSpare1] [int] NULL'+,' 
    [iSpare2] [int] NULL'+,' 
    [iSpare3] [int] NULL'+,' 
    [iVerifyCode] [int] NULL'+,' 
    [iTransferFlag] [int] NULL'+,' 
    [iExportFlag] [tinyint] NULL'+,' 
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL'+,' 
    '+
      

  7.   

    抱歉给楼主带来了麻烦
    我理解错了,楼主是要每行替换成''+  
    包括结尾的","对吧下面代码真正没有问题了string str = @"[iPassCardID] [int] NOT NULL, 
    [iECardID] [int] NOT NULL, 
    [iECardType] [tinyint] NOT NULL, 
    [iOwnerID] [tinyint] NOT NULL, 
    [iOwnerNetwork] [smallint] NOT NULL, 
    [iOwnerToll] [numeric](9, 4) NOT NULL, 
    [iPassCardNet] [smallint] NULL, 
    [tmEntryDT] [datetime] NULL, 
    [iEntryShift] [tinyint] NULL, 
    [iEntryST_ID] [int] NULL, 
    [iEntryLane] [smallint] NULL, 
    [iEntryToll_ID] [int] NULL, 
    [tmEntryShiftD] [smalldatetime] NULL, 
    [iEntryStatus] [int] NULL, 
    [iEntryVType] [tinyint] NULL, 
    [iEntryNetwork] [smallint] NULL, 
    [fTotalToll] [numeric](9, 4) NULL, 
    [fRebate] [numeric](9, 2) NULL, 
    [iDeviceStatus] [smallint] NULL, 
    [iRecordType] [int] NULL, 
    [iFlagStation] [int] NULL, 
    [iVehiclelicense] [int] NULL, 
    [szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTotalWeight] [int] NULL, 
    [iTotalLimit] [int] NULL, 
    [szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [iTicStatus] [tinyint] NULL, 
    [iSpare1] [int] NULL, 
    [iSpare2] [int] NULL, 
    [iSpare3] [int] NULL, 
    [iVerifyCode] [int] NULL, 
    [iTransferFlag] [int] NULL, 
    [iExportFlag] [tinyint] NULL, 
    [szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    [szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL, 
    ";            str = Regex.Replace(str, @"(.+,)", "'$1'+");
    '[iPassCardID] [int] NOT NULL,'+ 
    '[iECardID] [int] NOT NULL,'+ 
    '[iECardType] [tinyint] NOT NULL,'+ 
    '[iOwnerID] [tinyint] NOT NULL,'+ 
    '[iOwnerNetwork] [smallint] NOT NULL,'+ 
    '[iOwnerToll] [numeric](9, 4) NOT NULL,'+ 
    '[iPassCardNet] [smallint] NULL,'+ 
    '[tmEntryDT] [datetime] NULL,'+ 
    '[iEntryShift] [tinyint] NULL,'+ 
    '[iEntryST_ID] [int] NULL,'+ 
    '[iEntryLane] [smallint] NULL,'+ 
    '[iEntryToll_ID] [int] NULL,'+ 
    '[tmEntryShiftD] [smalldatetime] NULL,'+ 
    '[iEntryStatus] [int] NULL,'+ 
    '[iEntryVType] [tinyint] NULL,'+ 
    '[iEntryNetwork] [smallint] NULL,'+ 
    '[fTotalToll] [numeric](9, 4) NULL,'+ 
    '[fRebate] [numeric](9, 2) NULL,'+ 
    '[iDeviceStatus] [smallint] NULL,'+ 
    '[iRecordType] [int] NULL,'+ 
    '[iFlagStation] [int] NULL,'+ 
    '[iVehiclelicense] [int] NULL,'+ 
    '[szOfficelicense] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,'+ 
    '[iTotalWeight] [int] NULL,'+ 
    '[iTotalLimit] [int] NULL,'+ 
    '[szTicNo] [char](16) COLLATE Chinese_PRC_CI_AS NULL,'+ 
    '[iTicStatus] [tinyint] NULL,'+ 
    '[iSpare1] [int] NULL,'+ 
    '[iSpare2] [int] NULL,'+ 
    '[iSpare3] [int] NULL,'+ 
    '[iVerifyCode] [int] NULL,'+ 
    '[iTransferFlag] [int] NULL,'+ 
    '[iExportFlag] [tinyint] NULL,'+ 
    '[szBakField1] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,'+ 
    '[szBakField2] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,'+ 
    '[szBakField3] [varchar](16) COLLATE Chinese_PRC_CI_AS NULL,'+