Julia中split函数传入多个分隔符报错,如何拆分得到单词数组
Julia多分隔符拆分字符串解决方案
报错原因
Julia的split函数不支持将多个分隔符作为独立位置参数直接传入,你当前的调用方式不符合该函数的方法定义,因此触发MethodError。
正确实现方式
方案1:传入分隔符集合
将所有需要用到的分隔符放入数组/元组作为split的第二个参数,搭配keepempty=false关键字参数自动过滤拆分后产生的空字符串:
sentence = "If you're visiting this page, you're likely here because you're searching for a random sentence" # 传入分隔符数组 result = split(sentence, [',', ' ', ';'], keepempty=false)
运行后result就是你需要的单个单词组成的数组:
17-element Vector{SubString{String}}: "If" "you're" "visiting" "this" "page" "you're" "likely" "here" "because" "you're" "searching" "for" "a" "random" "sentence"
方案2:使用正则匹配分隔符(更推荐多分隔符场景)
直接用正则表达式匹配所有分隔符,连续多个分隔符会被自动识别为一个拆分边界,无需额外处理空字符串:
result = split(sentence, r"[, ;]+")
两种方案的输出结果完全一致。
内容的提问来源于stack exchange,提问作者etnaw
相关产品推荐
相关产品推荐

