有如下字符传 char 10 Not Null int 4 Null pic 20 Not Null 如何用正则转为
char(10) Not Null,int,pic Not Null
高手求解
char(10) Not Null,int,pic Not Null
高手求解
解决方案 »
- 关于WinForm程序Form设置为TopMost失效的问题
- 求助 c#检索access数据库时,提示错误SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确
- 界面出现假死机,怎么办?
- 简单问题,找不到正解!
- 怎么读取一个链表的值?
- 窗体的引用问题
- winform 中datagrid 如何插入行
- 多线程下载:一个用户端从多个服务器下载同一文件,即每一线程负责与一服务器连接下载数据。
- 所有CSDN的网友都应该抵制最新一期的MVP评选活动!
- 为什么给分时出现“贴子回复次数大于跟给分次数 ”
- 引用 AxSHDocVw.AxWebBrowser 之后的问题!
- 怎么改变MainMenu和ToolBar的背景色 或 背景图啊?
这里有个专门介绍正规表达试,你看看
http://blog.csdn.net/niwalker/archive/2004/07/09/38083.aspx
string content="char 10 Not Null int 4 Null pic 20 Not Null";
string str2=Regex.Replace(content,@"(?<=char )(?<gChar>\d*)","(${gChar})");
string str3=Regex.Replace(str2,@"(?<=Null )(?<gInt>int) \d* Null",",${gInt},");
string str4=Regex.Replace(str3,@"(?<=pic )\d*","");
Console.WriteLine(str4);
^ 输入文本的开头 ^B B,但只能是文本中的第一个字符
$ 输入文本的结尾 X$ X,但只能是文本中的最后一个字符
. 除了换行字符(\n)以外的所有单个字符 i.ation isation、ization
* 可以重复0次或多次的前导字符 ra*t rat、raat等
+ 可以重复1次或多次的前导字符 ra+t rt、rat、raat等
? 可以重复0次或1次的前导字符 ra?t 只有rt和rat匹配
\s 任何空白字符 \sa [space]a,\ta,\na(\t和\n与C#的\t和\n含义相同)
\S 任何不是空白的字符 \SF aF,rF,cF,但不能是\tf
\b 字边界 ion\b 以ion结尾的任何字
\B 不是字边界的位置 \BX\B 字中间的任何X
string pattern = "(";foreach(string s in ss)
{
pattern += s + "|";
}pattern = pattern.TrimEnd("|".ToCharArray()) + @")\(\d+\)";
Regex regex2 = new Regex(pattern, RegexOptions.IgnoreCase);output = regex2.Replace(output, "$1").TrimEnd(",".ToCharArray());MessageBox.Show(output);
字符串是按照 { 列名 数据类型 长度 是否为空 } 这个顺序得到的 我想利用这个字符串动态创建一个数据库的表,所以想用正则表达式 得到如:CreateTable 表名(列名 数据类型 (长度|可选)是否为空(|可选),列名 数据类型)这样的字符串,例:CreateTable test(test Char(8) not null,test1 int)再次感谢诸位大人,其实如果要解决这个问题,最简单的方法是,先创建一个空表,再用循环增加列,但没什么挑战性。最近学习正则,所以向各位正则达人请教一下,如何用正则直接得到我想要的字符串。今天下班来结贴,不知道。还有没有达人教小弟一下。