拆分后我真的需要空间来获得三个元素吗?或者有人可以解释为什么会如此?(注意:ruby中的代码,不确定它是如何用不同的语言)
test1="2011112512215| | "
test2="2011112512215||"
puts test1.split("|").length # =3
puts test2.split("|").length # =1
Run Code Online (Sandbox Code Playgroud) 我有这个字符串:
my $string = "2, 16, \"d4,d6\", \"d20,d22\", [0]";
Run Code Online (Sandbox Code Playgroud)
我使用拆分:
my @arglist = split(/,/, $string);
Run Code Online (Sandbox Code Playgroud)
问题是,最初我从未将这些逗号嵌入到带引号的字符串中,现在我已经和我需要更新该分裂正则表达式来处理这种情况.
请,除了我的要求之外,绝对不要提及任何其他内容.我已经搜索了足够多,一半以上的答案是关于复杂的CSV解析等等的噪音.我没有写那个我需要修复的脚本,我想要的是修改那个做拆分的单行,所以它应该这是一个简单的正则表达式.将不会有任何更新,它分割的文本将只是这样:
CHROMA_MC_X \width, \align, "d4,d5,d6,d7", "d20,d21,d22,d23"
CHROMA_MC_X \width, \align, "d4,d6", "d20,d22", [0]
CHROMA_MC_X \width, \align, "d4,d6", "d20,d22", [0]
Run Code Online (Sandbox Code Playgroud)
编辑
Birei的答案足以从一开始.我最终烹饪这个正则表达式,完美处理我的情况:
my @arglist = $3 =~ m/(?:(?<=")[^"]*(?=(?:\s*"\s*,|\s*"\s*$)))|(?<=,)(?:[^",]*(?=(?:\s*,|\s*$)))|(?<=^)(?:[^",]+(?=(?:\s*,|\s*$)))|(?<=^)(?:[^",]*(?=(?:\s*,)))/g;
Run Code Online (Sandbox Code Playgroud)
它看起来很乱,但它完全符合我的需要.它将引用的列表与comas匹配并返回它们而没有引号,存在一些可能存在的空args的问题,这个正则表达式很杂乱,因为它只是处理这些情况并避免了可变长度lookbehind的错误在perl regex中实现.
我没有得到:所有这些downvotes的原因是什么,我受到一些perl大师的攻击,他们认为我不知道我需要什么以及我要求什么?!我有一些工具可以进行一些asm预处理,我只需要处理一些情况.而已.感谢帮助.
我在Django中有一个带有TextField的表单,它接收逗号分隔的输入,例如test1,test2,test3,test4,然后将其拆分为:
test = request.POST.get('test', '').split(',')
Run Code Online (Sandbox Code Playgroud)
然后保存到Postgres数据库模型
然后检索并显示
但是,显示时,返回的拆分列表为unicode,
[u'test1', u'test2', u'test3', u'test4']
Run Code Online (Sandbox Code Playgroud)
而不是期望的
['test1', 'test2', 'test3', 'test4']
Run Code Online (Sandbox Code Playgroud)
为什么是这样?这个问题是我无法弄清楚如何在django模板页面中显示数组的每个元素 - 常规
{% for element in list %}
<p>{{ element }}</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
不工作.有什么想法吗?
我有一个列表,其中包含Python中大型列表的每个项目中的URL和一些文本.我想在每次出现空格时将每个项目分成几个项目(每个项目2-3个空格).发布的代码不多,它只是一个存储在命名变量中的列表.我已经尝试过使用split功能,但我似乎无法正确使用它.任何帮助将不胜感激!
我有这个字符串'id,obj1,"string, etc",obj2',现在我需要把它分成这样的字典:
{
1 = 'id',
2 = 'obj1',
3 = 'string, etc',
4 = 'obj2'
}
Run Code Online (Sandbox Code Playgroud)
我一直在玩正则表达式,试图划分字符串但没有成功.任何帮助表示赞赏
我正在尝试解析看起来像的输入行
8=FIX.4.2^A9=0126^A35=0^A34=000742599^A49=L3Q206N^A50=2J6L^A52=20130620-11:16:27.344^A369=000733325^A56=CME^A57=G^A142=US,IL^A1603=OMS2^A1604=0.1^A
Run Code Online (Sandbox Code Playgroud)
您有不同的数据字段,由^ A分隔.我试图得到各个数据字段(如8 = FIX.4.2,9 = 0126,35 = 0等).问题是python有时将^ A解释为单个字符(在vim中这是ctrl-v,ctrl-a),有时将字符'^ A'解释为有两个字符.所以我试过了
entries = re.split('^A|^A', str(line))
Run Code Online (Sandbox Code Playgroud)
但后来当我这样做
for entry in entries:
print entries
Run Code Online (Sandbox Code Playgroud)
我最后得到了原始字符串,没有任何分裂.这是re.split的问题吗?
我正在处理来自CoderByte的问题.我很好奇我的代码.第一个函数returns 6和第二个函数returns 4是正确的计数.我试图理解为什么会这样.当我在控制台日志时newArr它只显示4个项目.
以下是来自CoderByte的问题: - 使用JavaScript语言,让函数WordCount(str)获取传递的str字符串参数并返回字符串包含的单词数(即"Never eat shredded wheat"将返回4).单词将由单个空格分隔.
var wordCount = function (str) {
var newArr = str.split(' ');
var total = 0;
for (var i = 0; i < newArr.length; i += 1) {
total += i;
}
return total;
};
Run Code Online (Sandbox Code Playgroud)
///
wordCount('Never eat shredded wheat');
var wordCount = function (str) {
return str.split(' ').length;
};
Run Code Online (Sandbox Code Playgroud) 这些是我想要拆分成列表的动词列表.
'awake\nawoke\nawoken\nbe\nwas, were\nbeen\nbeat\nbeat\nbeaten\nbecome\nbecame\nbecome\nbegin\nbegan\nbegun\nbend\nbent\nbent\nbet\nbet\nbet\nbid\nbid\nbid\nbite\nbit\nbitten\nblow\nblew\nblown\nbreak\nbroke\nbroken\nbring\nbrought\nbrought\nbroadcast\nbroadcast\nbroadcast\nbuild\nbuilt\nbuilt\nburn\nburned/burnt\nburned/burnt\nbuy\nbought\nbought\ncatch\ncaught\ncaught\nchoose\nchose\nchosen\ncome\ncame\ncome\ncost\ncost\ncost\ncut\ncut\ncut\ndig\ndug\ndug\ndo\ndid\ndone\ndraw\ndrew\ndrawn\ndream\ndreamed/dreamt\ndreamed/dreamt\ndrive\ndrove\ndriven\ndrink\ndrank\ndrunk\neat\nate\neaten\nfall\nfell\nfallen\nfeel\nfelt\nfelt\nfight\nfought\nfought\nfind\nfound\nfound\nfly\nflew\nflown\nforget\nforgot\nforgotten\nforgive\nforgave\nforgiven\nfreeze\nfroze\nfrozen\nget\ngot\ngot (sometimes gotten)\ngive\ngave\ngiven\ngo\nwent\ngone\ngrow\ngrew\ngrown\nhang\nhung\nhung\nhave\nhad\nhad\nhear\nheard\nheard\nhide\nhid\nhidden\nhit\nhit\nhit\nhold\nheld\nheld\nhurt\nhurt\nhurt\nkeep\nkept\nkept\nknow\nknew\nknown\nlay\nlaid\nlaid\nlead\nled\nled\nlearn\nlearned/learnt\nlearned/learnt\nleave\nleft\nleft\nlend\nlent\nlent\nlet\nlet\nlet\nlie\nlay\nlain\nlose\nlost\nlost\nmake\nmade\nmade\nmean\nmeant\nmeant\nmeet\nmet\nmet\npay\npaid\npaid\nput\nput\nput\nread\nread\nread\nride\nrode\nridden\nring\nrang\nrung\nrise\nrose\nrisen\nrun\nran\nrun\nsay\nsaid\nsaid\nsee\nsaw\nseen\nsell\nsold\nsold\nsend\nsent\nsent\nshow\nshowed\nshowed/shown\nshut\nshut\nshut\nsing\nsang\nsung\nsit\nsat\nsat\nsleep\nslept\nslept\nspeak\nspoke\nspoken\nspend\nspent\nspent\nstand\nstood\nstood\nswim\nswam\nswum\ntake\ntook\ntaken\nteach\ntaught\ntaught\ntear\ntore\ntorn\ntell\ntold\ntold\nthink\nthought\nthought\nthrow\nthrew\nthrown\nunderstand\nunderstood\nunderstood\nwake\nwoke\nwoken\nwear\nwore\nworn\nwin\nwon\nwon\nwrite\nwrote\nwritten'
Run Code Online (Sandbox Code Playgroud)
如何拆分字符串中的每个单词?
IMG354-62850003215
我想修剪这个从" - "开始直到结束
所以输出应该是IMG354
如果我有以下列表:
['Host:www.perdu.com','Connection:keep-alive','Cache-Control:max-age = 0','Accept:text/html,application/xhtml + xml,application/xml; q = 0.9,image/webp,/ ; q = 0.8','User-Agent:Mozilla/5.0(Macintosh; Intel Mac OS X 10_9_4)AppleWebKit/537.36(KHTML,如Gecko)Chrome/38.0.2125.111 Safari/537.36',' DNT:1','接受编码:gzip,deflate,sdch','接受语言:en-US,en; q = 0.8,es; q = 0.6,fr; q = 0.4','']
我怎样才能得到一个元组列表,tuple_list如:
tuples_list = [
('Host', 'www.perdu.com'),
('Connection', 'keep-alive'),
....
]
Run Code Online (Sandbox Code Playgroud)