我一直在尝试用Java构建一个模式,用破折号和制表符分割下面的字符串.例外情况是,如果在字符串中遇到选项卡后出现破折号,即使只有一次,我们也会停止在破折号上拆分并仅在选项卡上拆分.例如:
输入字符串(那些大空格是制表符):
"4852174--r-watch 7 47 2 0 80-B 20 5"
Run Code Online (Sandbox Code Playgroud)
预期产量: ["4852174", "r", "watch", "7", "47", "2", "0", "80-B", "20", "5"]
到目前为止,我正在使用以下正则表达式: "(?<!\\d)(\\-+)(?!\t)|\t"
信号的第一组括号我不希望在分隔符之前有任何数字,下一个信号表示我想要一个或多个破折号,最后一组要注意我不想跟随标签.当然,最后的OR用于按单个制表符分割.
我得到的结果如下:
["4852174-", "r", "watch", "7", "47", "2", "0", "80-B", "20", "5"]
注意"4852174-"中应该没有的额外短划线.我已经尝试了很长时间试图解决这个问题,但是我做的任何小改变都会破坏其他地方的分裂.
任何帮助解决这个问题将不胜感激.先感谢您!
在连通图中,有饥饿人群站立的n个点.每个饥饿的人都想去图中的一家餐厅.每个人的行程距离应在1公里范围内.餐厅不能超过CEILING [n/k]客人.
提供这些饥饿的人和该地区的餐馆的点,是否有一个有效的算法,运行在多项式时间,告诉每个客人是否可以容纳(如真或假)?
这让我想起了旅行商问题,所以它只是一个修改过的版本吗?
有办法做到以下几点吗?检查一个类是否存在(在同一个包中),如果它存在,检查是否存在特定方法,如果存在,则调用它?
假设我有类X.在X类的某些方法中,我想执行以下操作:
if (class Y exists) { //Maybe use Class.forName("Y")?
if ( Y has method a(String, String) ) {
call Y.a("hello", "world");
}
}
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?并且这样做是否合理?谢谢.
使用Matlab,假设我们有一个单元阵列的单元阵列.例如:
C = { {'hello' 'there' 'friend'}, {'do' 'say' 'hello'}, {'or' 'maybe' 'not'} }
Run Code Online (Sandbox Code Playgroud)
我想找到C中包含字符串的所有单元格数组的索引'hello'.在这种情况下,我期望1和2,因为第一个单元阵列'hello'在第一个槽中,第二个单元阵列在第三个槽中.
我想象使用矩阵(一个简单的查找)会更容易一些,但出于教育目的,我也想学习使用单元格数组的过程.
提前谢谢了.
java ×2
algorithm ×1
cell-array ×1
graph ×1
matlab ×1
reflection ×1
regex ×1
split ×1
string ×1