我是否可以在jquery中使用等效的right()函数。我想用fileextension xlsx获取记录。
new Guid(context.Documents.Where(T => T.FileName == ".xlsx").Select(T => T.ItemGuid).First().ToString());
类似
select * from document where right(filename,4) = 'xlsx'
我不想将文件名存储在变量中,以后再操作它。我想能够在我的条件下直接使用它。 'Documents'是我的表名,“FileName”是一个包含我上传的文件名称的字段,现在我只需要过滤扩展名为'xlsx'的文件。我试着做了
guid temp = new Guid(context.Documents.Where(T => T.FileName.Substring(T.FileName.Length - 4) == ".xlsm").Select(T => T.ItemGuid).First().ToString());
但是我收到错误“Sequence contains no elements”错误。
* 更新:使用EndsWith()获取我想要的信息。这现在有效:
guid temp = new Guid(context.Documents.Where(T => T.FileName.EndsWith("xlsm")).Select(T => T.ItemGuid).First().ToString());
感谢。
答案 0 :(得分:1)
您可以使用.slice
(MDN)函数,考虑到将负值传递给它会使其从末尾剪切字符串。 )
var test = 'filename.xslx';
if (test.slice(-4) === 'xslx') {
alert("Passed");
}
答案 1 :(得分:1)
filename.substr(-4)
使用带有负索引的.substr
将返回字符串末尾的子字符串。
答案 2 :(得分:0)
您可能正在寻找记录here的[name$="value"]
选择器。
答案 3 :(得分:0)
没有,你可以使用
var filename = "file.xlsx";
var extension = filename.substr(filename.length - 4);
或者要获得点后的字符,您可以使用:
var extension = filename.split('.').pop();
答案 4 :(得分:0)
right()
与endswith()
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
答案 5 :(得分:0)
使用可以提供正则表达式匹配的javascript match()
。
var filename = 'somefile.xlsx';
var matches = filename.match('/\.xlsx$/i');
if (matches.length > 0) {
// you have a match
}