我有一个文件夹,里面装满了名称如下所示的文件,例如:
[1] "./final_model_pre/pre_pe_ja_bc_wm.tif" "./final_model_pre/pre_pe_ja_bc_wm.tif.aux.xml"
[3] "./final_model_pre/pre_pe_ja_bc_wm.tif.ovr" "./final_model_pre/pre_an_le_glm_wm.tif"
[5] "./final_model_pre/pre_an_le_glm_wm.tif.aux.xml" "./final_model_pre/pre_an_le_glm_wm.tif.ovr"
[7] "./final_model_pre/pre_an_bo_ma_wm.tif" "./final_model_pre/pre_an_bo_ma_wm.tif.aux.xml"
[9] "./final_model_pre/pre_an_bo_ma_wm.tif.ovr" "./final_model_pre/pre_pe_ja_mx_wm.tif"
[11] "./final_model_pre/pre_pe_ja_mx_wm.tif.aux.xml" "./final_model_pre/pre_pe_ja_mx_wm.tif.ovr"
[13] "./final_model_pre/pre_pe_ja_rf1_wm.tif" "./final_model_pre/pre_pe_ja_rf1_wm.tif.aux.xml"
[15] "./final_model_pre/pre_pe_ja_rf1_wm.tif.ovr" "./final_model_pre/pre_pe_ja_svm_wm.tif"
[17] "./final_model_pre/pre_pe_ja_svm_wm.tif.aux.xml" "./final_model_pre/pre_pe_ja_svm_wm.tif.ovr"
Run Code Online (Sandbox Code Playgroud)
我想列出有充分的文件"pe_ja"的名称和仅与".tif"扩展,没有".tif.ovr"或".tif.aux.xml"或任何其他分机。我正在尝试使用list.files函数,但我无法pattern正确使用agrument。你能帮我这样做吗?谢谢!PS:我正在使用R。
我需要ls | grep 'my[rR]egexp?'在 Powershell 中做一些类似于 Unix 的事情。类似的表达式ls | Select-String -Pattern 'my[rR]egexp?'似乎遍历了列出文件的内容,而不是简单地过滤文件名本身。
在选择字符串的文件一直没有多大帮助的。
如果我的表格内容如下所示:
id | value
------------
1 |CT 6510
2 |IR 52
3 |IRAB
4 |IR AB
5 |IR52
Run Code Online (Sandbox Code Playgroud)
我只需要获取那些内容以“IR”开头的行,然后是一个数字(忽略空格)。这意味着我应该得到值:
2 |IR 52
5 |IR52
Run Code Online (Sandbox Code Playgroud)
因为它以“IR”开头,下一个非空格字符是一个整数。与 IRAB 不同,它也以“IR”开头,但“A”是下一个字符。我只能从 IR 开始查询所有内容。但其他 IR 也出现了。
select * from public.record where value ilike 'ir%'
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?谢谢。
我得到以下代码的非详尽模式异常
--determine which list is longer
longer::[a]->[a]->Bool
longer [] [] = False
longer _ [] = True
longer (_:[]) (_:[]) = False
longer (_:xs) (_:ys) = longer xs ys
Run Code Online (Sandbox Code Playgroud)
我不明白我在这里做错了什么。
我正在编写一个函数,该函数根据Map.Map参数中的 Map 是否为空而具有不同的操作
这是我的代码:
import qualified Data.Map.Lazy as Map
testF :: (Ord a, Num a) => Map.Map a a -> [a] -> [a]
testF empty _ = [1024]
testF _ [] = []
testF m (x:xs) = [x] ++ (testF m xs)
main = do
let a = Map.fromList [(1,2), (3,4)]
print $ testF Map.empty [1,2,3] -- show [1024]
print $ testF a [1,2,3] -- show [1024] too
print $ a == Map.empty -- False
Run Code Online (Sandbox Code Playgroud)
当然,GHC 已经通知我最新的功能行是多余的。
Pattern …Run Code Online (Sandbox Code Playgroud) 在我们的应用程序中,我们正在创建不应被某些网址命中的请求过滤器。我们希望能够排除像 spring do witch url patterns 这样的 url,例如:
// register filter in bean
FilterRegistrationBean filterBeanRegistration = new FilterRegistrationBean();
filterBeanRegistration.setFilter(myFilter());
filterBeanRegistration.addInitParameter("excluded", "*/foo/**, */bar/**");
...
Run Code Online (Sandbox Code Playgroud)
并且新的过滤器不会点击像这样的网址domain:8080/aaa/foo/xxxx,domain:8080/bbb/bar/xxxx。
你能告诉我如何用 spring 类或其他简单的方法来做到这一点吗?谢谢指教。
编辑:有一种FilterBeanRegistration#addUrlPatterns(String... urls)方法可以指定网址,但没有任何格式可以说明应该点击哪个网址。为了我们的目的,最好排除一些网址。
从对结构的引用中获取对结构域的引用的所有方法让我不知所措。这些是我现在知道的方式:
struct Foo {
bar: i32,
}
let foo = &Foo { bar: 123 };
let bar1 = &foo.bar;
let ref bar2 = foo.bar;
let ref bar3 = (*foo).bar;
let &Foo { bar: ref bar4 } = foo;
let Foo { bar: bar5 } = foo;
let Foo { bar: ref bar6 } = foo;
let Foo { bar: ref bar7 } = *foo;
Run Code Online (Sandbox Code Playgroud)
其中哪一种是“首选方式”?我假设像foo.bar单个字段和模式匹配这样的字段访问是首选,以便一次性获得多个字段,但是我不清楚我上面列出的多种方式中的每种情况下应该使用哪种方式。
所以我有这些常量FilePath变量(字符串)
s1 , s2 , s3 , s4 ... :: Filepath
s1 = "help.txt"
s2 = "sljdfn"
-- ...
Run Code Online (Sandbox Code Playgroud)
而且我有一个函数接受这些文件路径之一并返回一个int值。
positionInList:: Filepath -> Int
positionInList s1 = 1
positionInList s2 = 2
-- ...
Run Code Online (Sandbox Code Playgroud)
但是,在编译时会出现模式匹配冗余警告,并且程序运行异常,所以我认为这是问题所在。我将如何解决呢?
let a = seq { yield Some 1; yield Some 2; yield Some 3; yield None }
a
|> Seq.takeWhile Option.isSome // cast 1
|> Seq.map Option.get // cast 2
|> Seq.iter (printfn "%A")
Run Code Online (Sandbox Code Playgroud)
a
|> Seq.filter Option.isSome // cast 1
|> Seq.map Option.get // cast 2
|> Seq.iter (printfn "%A")
Run Code Online (Sandbox Code Playgroud)
type AB =
| A of a : int
| B of b : string
let a = seq{
yield …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种方法来匹配和合并来自以下字符串的球队名称。我用正则表达式尝试了几种不同的方法,但是没有成功。几个例子:
'30 Detroit Red Wings 12 47:06 3 8 1 3 7 0.292'
'31 Los Angeles Kings 11 47:45 4 7 0 4 8'
24 Anaheim Ducks 12 47:49 7 5 0 7 14 0.583
我希望输出看起来像这样:
[30, 'Detroit Red Wings', 12, 47:06, 3, 8, 1, 3, 7, 0.292]
[24, 'Anaheim Ducks', 12, 47:49, 7, 5, 0, 7, 14, 0.583]
这是我使用正则表达式尝试的方法,但没有成功:
pattern = re.compile(r'\b\w+\b')
matches = pattern.finditer(i)
Run Code Online (Sandbox Code Playgroud) pattern-matching ×10
haskell ×3
regex ×2
casting ×1
f# ×1
file ×1
java ×1
list ×1
postgresql ×1
powershell ×1
python ×1
python-3.x ×1
r ×1
rust ×1
seq ×1
spring ×1
sql ×1
string ×1
syntax ×1