我需要将一段字符串中的某个关键字的前面一部分取出来,可以这样表示:
abcd edfg 'asd key ' askjl key hjaksdkj kljals key fdasd
我想得到这样的两段字符串
abcd edfg 'asd key ' askjl key
hjaksdkj kljals key关键在于单引号'内的key不算关键字。谢谢了先!
abcd edfg 'asd key ' askjl key hjaksdkj kljals key fdasd
我想得到这样的两段字符串
abcd edfg 'asd key ' askjl key
hjaksdkj kljals key关键在于单引号'内的key不算关键字。谢谢了先!
解决方案 »
- 新手求助,VSS工程文件问题。
- 发现AjaxPro.2.dll(版本9.2.17.1)的一个BUG,高人进来看看
- 微软提供了一个.NET整站的开源框架是什么?
- 是不是 SqlDataReader 的 NextResult( )方法 引起的问题?Read( )错误。
- 哪位大侠有防止SQL注入攻击的字符替换的代码?
- 奇怪的现象,一阵点击之后,web突然变慢,一分钟才能打开一个网页?
- CSS
- 大家来讨论一下.NET技术的发展!!!
- .net免费空间不支持中文,该怎么解决?
- 有一个疑难使我迟迟不敢迈入ASP,谁能帮我?
- 在DataGrid中如何按照指定要求来动态排列数据
- Page对象的其他事件怎么进去啊?
using System;
using System.Text.RegularExpressions;class TestKey
{
static void Main()
{
string s = "abcd edfg 'asd key ' askjl key hjaksdkj kljals key fdasd 'abcd e'dfg 'asd key ' askjl key xxx fdfds 'ask key' ddd"; Regex re = new Regex(@"\G[^']*?('[^']*'[^']*?)*key", RegexOptions.IgnoreCase);
Match m = re.Match(s);
int n=0;
while (m.Success)
{
n++;
Console.WriteLine(n+":"+m.Value);
m = m.NextMatch();
}
}
}
思归大哥,还请问一下,对于这样的字符串,
( asdhkjasdh asdhj 'jh )_ ( as) ' asdhjk ) jkahsdh ( asdhcx nmsd )
我需要获取括号内的字符串,但是引号内的括号不算,即得到的字符串应该是
asdhkjasdh asdhj 'jh )_ ( as) ' asdhjk
asdhcx nmsd
请问该怎么写。
string s = "( asdhkjasdh asdhj 'jh )_ ( as) ' asdhjk ) jkahsdh ( asdhcx nmsd ) ";
Regex re = new Regex(@"\((?<content>[^']*?('[^']*'[^']*?)*)\)", RegexOptions.IgnoreCase);
Match m = re.Match(s);
int n=0;
while (m.Success)
{
n++;
Console.WriteLine(n+":"+m.Groups["content"].Value);
m = m.NextMatch();
}
( asd asd ) adasd ((( asdhkjasdh asdhj 'jh )_ ( as) ' asdhjk ) jkahsdh ( asdhcx nmsd )))
主要是括号的嵌套,mastering regular expressions上有个例子,但是不能如果引号中有括号就不行了。谢谢hot心的思归^_^
Match m = re.Match(s);
int n=0;
while (m.Success)
{
n++;
Console.WriteLine(n+":"+m.Groups["content"].Value);
m = m.NextMatch();
}
多谢啦。