我有一个函数,我检查字符串的结尾以确定扩展名。
我使用方法endsWith
和第二个参数:Qt::CaseInsensitive
。
现在的问题是,对于某些扩展它是有效的,对于其他扩展它不是。字符串只能用普通的拉丁字符书写,没什么特别的。
在调试器中,字符串看起来没问题,在最终字符后面没有尾随空格或任何内容。
它应该可以工作,但它只适用于某些文件扩展名。以下是我的支票样本:
if(myString.endsWith(".mp3", Qt::CaseInsensitive) || myString.endsWith(".wav", Qt::CaseInsensitive) || myString.endsWith(".flac", Qt::CaseInsensitive) ||
myString.endsWith(".ape", Qt::CaseInsensitive))
{
DoSomething();
}
myString是"Glory.mp3"
它仅适用于某些文件扩展名。
这是一个非工作案例:
else if(myString.endsWith(".zip", Qt::CaseInsensitive) || myString.endsWith(".rar", Qt::CaseInsensitive) || myString.endsWith(".tar", Qt::CaseInsensitive) ||
myString.endsWith(".tar.gz", Qt::CaseInsensitive), myString.endsWith(".7z", Qt::CaseInsensitive))
{
DoSomethingElse();
}
myString是"magnets.zip"
答案 0 :(得分:6)
preg_replace('/(?:(?:<br>)\s*)/s', "<br><br>", $posttext)
在最后两次else if(myString.endsWith(".zip", Qt::CaseInsensitive) || myString.endsWith(".rar", Qt::CaseInsensitive) || myString.endsWith(".tar", Qt::CaseInsensitive) ||
myString.endsWith(".tar.gz", Qt::CaseInsensitive), myString.endsWith(".7z", Qt::CaseInsensitive))
{
来电
||
代替,
endsWith
是一个运算符,它评估双方,但只返回其表达式的右侧