我正在尝试检查字符串是否是C#中带正则表达式的引号。
例如
string x = "The flora and fauna of Britain \"has been transported to almost every corner of the globe since colonial times\" (Plants and Animals of Britain, 1942: 8).;
string y = "Morris et al (2000: 47) state \"that the debate of these particular issues should be left to representative committees.\"";
x和y是两个引号,正则表达式(或替代解决方案)应该能够返回true。
我来了,但有一个小问题:
string pattern = @"([‘'""]([\w\W]+?)[)])|(([\w\W]+?)[(]([\w\W]+?)[’'""])";
还有其他选择吗?提前谢谢。
该项目是一个反抄袭的网络应用程序。应用程序发现这些字符串(引用)是从Web复制的。现在假设用户不想在搜索结果中包含这些引用,问题是如何做到这一点。
搜索结果存储在数据库中,我正在使用EF和linq:
var webSearches = _db.WebSearches.Where(x => x.SubmissionId == submissionId).GroupBy(x => x.PlagiarisedText).Select(x => x.FirstOrDefault())。OrderBy( x => x.Id);
我想通过不包括引号来过滤结果(plagiarisedText)。
感谢您的回复,我很感激。
答案 0 :(得分:0)
使用\\\"
。
使用Regex.IsMatch()
查找是否包含。
Console.WriteLine(Regex.IsMatch(x, "\\\""));// true if it contains ", otherwise false
答案 1 :(得分:0)
如果Regex
不是必需项,则可以使用String
函数:
int first = str.IndexOf('"');
int last = str.LastIndexOf('"');
if (str.Substring(first, last - first) != string.Empty)
{
// true
}
答案 2 :(得分:0)
如果第一个和最后一个字符都是"
s时为真,那么您可以简单地使用以下正则表达式:
".*"