说你有这个清单
`[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0, ';', 0, 3, -6, 0, ';']`
Run Code Online (Sandbox Code Playgroud)
什么是最简单的方法来向后调整,以说第二次出现';',输出
[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0]
我需要用不同的分隔符在多个文件中分割多行。我认为preg_split应该可以完成这项工作,但我从未使用过PCRE REGEX的东西。我也可以将所有定界符更改为一致,但这会增加不必要的计算。
问:我的定界符由(,)(;)(|)(space)组成,我很好奇如何构建这样的REGEX。
在看到我们的apache日志中出现的一些错误之后,我一直在试图找出'为什么'.与preg_match命令相关的错误,我试图找到以反斜杠字符开头的字符串:
preg_match('/^\\/',$str)
Run Code Online (Sandbox Code Playgroud)
它报告"preg_match():没有结束分隔符'/'发现"
出于好奇,我尝试了双重而不是单引号,以及1到6个反斜杠的组合,它总是报告相同的错误.(我最终将测试切换到if(substr($ str,0,1)=="\"){}而不是暂时的)
我喜欢将字符串分隔如下
给定以下字符串:
Column 1
10.80.111.199.1345
127.0.0.1.3279
Run Code Online (Sandbox Code Playgroud)
我想在最后一个"."之后划分数字,这将得到以下输出
Column 1 Column 2
10.1.12.5 1345
127.0.0.1 3279
Run Code Online (Sandbox Code Playgroud)
我知道excel有分隔符功能,允许我用特定符号或固定宽度分隔.它似乎不适用于固定宽度.
有没有其他选择,而不是用"."分隔.可以在第1列上找回字符串吗?
我有一个数据框如下.我想将最后一列拆分为2.拆分需要基于唯一的第一列完成:其余的列不重要.
在新数据框中,将有4列.第3列为(a,b,d),第4列为(1,2:3,3:4:4)
有什么建议?我的代码的第4行不起作用:(.我可以使用全新的解决方案或对第4行进行更正
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(3, 2, 1)
df <- data.frame(employee, salary, originalColumn = c("a :1", "b :2:3", "d: 3:4:4"))
as.data.frame(do.call(rbind, strsplit(df,":")))
Run Code Online (Sandbox Code Playgroud)
-------------------- UPDATE1
以下解决方案效果很好 但我需要一个修改过的解决方案,因为我刚刚意识到第3列中的某些单元格不会有":".在这种情况下,我希望该单元格中的文本在拆分该列后仅出现在第一列中
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(3, 2, 1)
df <- data.frame(employee, salary, originalColumn = c("a :1", "b", "d: 3:4:4"))
Run Code Online (Sandbox Code Playgroud) 我是Perl的新手,但根据我读过的文档,看起来Perl中的split函数要求使用正则表达式而不是字符串分隔符作为第一个参数,但我发现使用类似的东西print +(split(' ', $string))[0]仍然是正确拆分字符串.
基于此,我试图使用变量分隔符(例如print +(split($var, $string))[0]where $var = ' ')并发现它不起作用.我究竟做错了什么?
谢谢!
编辑:对不起这个可怕的问题.我正在对带有前导空格的字符串运行此操作,发现split函数不喜欢前导空格.例如:
my $var = ' ';
print +(split($var, ' abc ddddd'))[0]
给出一个空白输出.$ var是否被解释为/$var/split函数内部?
与
print +(split(' ', ' abc ddddd'))[0]
它给出了一个输出 abc
因此,当我阅读文档时,我假设我的变量将被视为文字字符串,而实际上它不是,因此领先的空白没有被删除.
我有一个带有以下字符串的文本文件:
I want to know. bye bye. I found you. I hate you. I hear you.
Run Code Online (Sandbox Code Playgroud)
我想要做的是搜索文件中的目标句子.这是我使用的代码:
public String lookFor(String target, File targetDestination) throws FileNotFoundException {
Scanner scan = new Scanner(targetDestination);
scan.useDelimiter("\\. ");
while (scan.hasNext()) {
if (scan.next().compareTo(target) == 0)
return target;
}
return "Sorry,(" + target + ") cannot be found!";
}
Run Code Online (Sandbox Code Playgroud)
当我试图寻找任何句子时,代码工作正常,例如:"我讨厌你"它返回"我讨厌你",但是当我试图返回最后一句"我听到你"它说它没有找到,直到我添加一个点"我听到你." 然后它返回它.
谁能解释一下究竟发生了什么?我觉得这是分隔符,但我对正则表达式知之甚少.
我有一个看起来像这样的表:
ID Value
1 1,10
2 7,9
Run Code Online (Sandbox Code Playgroud)
我希望我的结果看起来像这样:
ID Value
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 7
2 8
2 9
Run Code Online (Sandbox Code Playgroud)
我在两个2数字之间的范围之后,作为分隔符(在值中只能有一个分隔符)以及如何将其拆分为行.
我正在尝试使用Python来解析CSV文件.我有一个像这样的字符串:
"14年11月11日", "买入", "1900", "$ 10.40", " - $ 19,760.00"
我想把它解析成这样的列表
但是,由于数字中有逗号分隔符,因此解析结果为
这是我的代码:
data = line.split(',')
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
foreach (var node in nodes)
{
result += node.InnerText;
}
Run Code Online (Sandbox Code Playgroud)
该InnerText仅仅是1-2个字符,永远不会包含#符号。节点中可以有一个或多个node值。
我如何分隔每个元素,例如,如果这些是node的值:
"ab" and "cd"
Run Code Online (Sandbox Code Playgroud)
结果将是ab#cd。
我知道我可以添加#值,但是最后一个字符呢。如果我只是简单地添加,#那么我会得到ab#cd#不是我想要的。