Questions tagged «parsing»

此标签表示挑战,其中解析输入很大/挑战的主要部分。

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

7
倒转单词,不改变大小写或标点符号
创建一个使用最少字符数的程序,以反转字符串中的每个单词,同时将单词的顺序以及标点和大写字母保持在其初始位置。 所谓“单词的顺序”,是指每个单词都被一个空格隔开(“”),因此,收缩等将被视为一个单词。收缩中的撇号应留在同一位置。(“ Do n't” =>“ Tno'd”)。 (标点符号表示不是az,AZ或空格*的任何字符)。 由于您没有大写字母,因此已从此列表中删除数字。现在将数字视为标点符号。 例如,对于输入: Hello, I am a fish. 它应该输出: Olleh, I ma a hsif. 注意,O(第一个单词的第一个字母)现在是大写字母,因为H在同一位置之前是大写字母。 逗号和句点也位于同一位置。 更多示例: This; Is Some Text! 将输出 Siht; Si Emos Txet! 可以使用任何语言。字符数最少的程序获胜。

8
吉米需要一双新鞋!
上周吉米(Jimmy)忙于使用所有这些 平台 和 绳索,可怜的吉米(Jimmy)甚至没有脚或脚站立! 您的工作是取一个包含多个Jimmys的细绳,然后给它们绑腿和穿鞋! 以Jimmy String的形式获取输入 吉米·字符串=> /o\ /o\ /o\ 仅包含/o\和 给输入中的每个Jimmy像这样的双脚: /o\ _/ \_ 将输入的浮头吉米弦转换为带脚弦的吉米,如下所示: // Input /o\ /o\ /o\ // Output /o\ /o\ /o\ _/ \_ _/ \_ _/ \_ 如果2个Jimmys靠得很近,他们必须移居以腾出空间,Jimmys总是会向右移,以便为其他Jimmys腾出空间。 // Input /o\/o\ // Output /o\ /o\ _/ \__/ \_ 除非必要,否则不得移动其他较远的吉米人 // Input /o\/o\ /o\ // …

10
排列CSV
概述: 您的工作是采用key=value格式的CSV输入,并以更有条理的方式(请参见下文)将其排列起来。 输入: 始终通过stdin。记录将始终采用以下格式key=value: foo=bar,baz=quux abc=123,foo=fubar baz=qwe,abc=rty,zxc=uiop,foo=asdf 事先没有可能的键列表,您必须在输入文本中找到它们。 输入结束将通过发出信号EOF,无论EOF您的操作系统适合哪种实现。 输出: 输出的第一行将是按字母顺序排列的所有键的列表(即使键是全数字)。之后,以相同的CSV格式将每个记录打印为适当的数字标题,而不列出键。因此,对于上面的示例,正​​确的输出将是: abc,baz,foo,zxc ,quux,bar, 123,,fubar, rty,qwe,asdf,uiop 常问问题: 我是否需要担心输入格式错误? 否。如果输入的格式不正确,例如,一行 foo,bar,baz 如何处理特殊字符的转义? 你可以假设不会有额外的,或者=在不属于一部分的数据key=value格式。"在此比赛中没有任何特殊含义(即使在传统CSV中也没有)。也不以任何方式特别。 行应与以下正则表达式匹配: ^([^=,]+=[^=,]+)(,[^=,]+=[^=,]+)*$ 因此,键和值都将匹配 [^=,]+ 什么CRLF对LF? 您可以选择适合您平台的任何定界符。大多数语言无需特殊的分隔代码即可处理此问题。 如果最后几列不存在,是否需要打印尾随逗号? 是。参见示例。 是否允许CSV解析器或其他类似的外部工具? 否。您必须自己解析数据。

18
简单的CSV / DSV导入器
略大于此的倒数。 输入: 多行DSV数据和单个定界符。DSV可以视为文件,文件名,以换行符分隔的字符串,字符串列表等。所有记录的字段数均相同,并且没有字段为空。数据不包含定界符,也没有引用或转义机制。 Out: 表示DSV的数据结构,例如,字符串列表列表或字符串矩阵。 例子 ["here is,some,sample","data,delimited,by commas"]和",": [["here is","some","sample"],["data","delimited","by commas"]] ["hello;\"","\";world","\";\""]和";":( [["hello","\""],["\"","world"],["\"","\""]]转义,因为此示例使用JSON) ["to be or not","that is the question"]和" ": [["to","be","or","not"],["that","is","the","question"]]

4
解线性方程
这个挑战,但具有更好的规格。 规格 您的程序将采用包含单个变量的线性方程式,x并输出的值x。 输入/解析 输入将仅包含数字,运算符,括号(())x,和一个=符号(这意味着没有空格)。 括号将始终保持平衡。 总会有至少1个x。一个x可以通过许多之前。 所有方程式都会精确地得到一个结果。 甲数可以通过以下步骤来定义。可以用正则表达式定义一个数字:-?(\d+(\.\d+)?|\.\d+)。 如果您不讲正则表达式:将数字定义为 0-9 它可能-在开始时有一个表示否定 然后可能会有一些数字。如果没有任何数字,将有一个小数点 如果存在小数点,则至少要跟一位数字 最大的数字/值将取决于您的语言能力。 一个运营商是任何的:+-*/,他们将永远数字之间出现,或括号 (5)(5)为了简单起见,这意味着不是有效的输入。 括号内始终始终包含有效的表达式(数字和/或运算符的有效组合)。“平衡”括号的定义是,每个括号(都会有一个关联的结尾) 评价 应该遵循操作顺序,并且优先级从高到低依次为: 括号(最深嵌套) 乘法与除法 加减法 如果出现两个具有相同优先级的运算符,则您应该选择向左->向右移动 输出量 您应该以某种方式输出结果。如果您不只是输出数字结果,请在答案中阐明输出的输出方式。您的输出格式应该一致。输出可能是十进制,但始终是有理数,精度受限于您语言的精度。仅当您的语言不支持浮点算术时,才不需要支持它。 规则 允许琐碎处理此任务的内置函数,但是您必须清楚[uses built-in]地在答案的标题中添加清楚。这使您的答案免于获胜 “使该任务变得琐碎的内置程序”是以下任何一种: 吸收方程式并输出a /变量值的东西 可以完全简化方程式的东西 使用eval或相关功能进行大量解析。eval如果函数和相关函数用于(只需对输入进行最少的修改)求解线性方程,则不允许使用和相关函数。 如有疑问,请在评论中提问。 允许解析方程式的内置程序 例子 3+4=x 7 4+x=5 1 3+3*3=x 12 3x-4=7+2x 11 3--1=x 4 3*(2+4x)=7x-4 -2 1.2+2.3x=5.8 …

3
重新造句
这一挑战包括两个部分。获胜者将是总字节数最少的解决方案。两种挑战都必须使用相同的语言。 第1部分: 编写一个函数或程序,该函数或程序将仅包含有效词的句子作为输入,并输出所用字符的列表,每个字母的使用次数以及原始句子中每个词的字母数。该程序的输出必须是对下一个程序的有效输入(与输出一样) 我将在后面添加示例和详细规则。 第2部分: 编写一个函数或程序,将第一个程序的输出作为输入,并使用此英语单词列表,并使用来自输出的信息重新创建一个句子。该句子不必与原始句子相同。 更多信息。规则和限制: 第1部分: 第一个输入可以是任何合适的格式,带或不带引号,作为函数参数或来自STDIN,带或不带括号等。 输入的句子将不包含任何标点符号或特殊字符,但最后一个句点/点除外。除句点符号外,输入中的所有字符都将在单词列表中。 句子的第一个字母为大写,其余字母为小写。 第2部分的输出必须以与原始句子相同的大写字母开头(因此不建议将输入转换为小写(但可以)。 输出可以是任何合适的格式: 必须可以将输出直接复制粘贴到下一个程序/函数中 粘贴粘贴时不能进行任何更改,必须将整个输出整体复制并粘贴,而不是部分粘贴。 例如,您可以输出字母表中所有字母的直方图,或仅输出所使用字母的直方图(通常,完成第二部分所需的一切) 您无法输出重复出现多次的字符列表。例如,The queue不能产生output:,Teeehquu (3,5)它应该类似于:Tehqu, (1 3 1 1 2),(3 5)。 第2部分: 程序/函数必须完全像第1部分一样接受输入(一个例外,请参阅以下有关将文件名作为输入的注释。) 如果必须使用方括号,引号或类似内容来解析输入,则这些必须是第1部分输出的一部分。 单词列表可以在这里找到。 单词列表可以在本地另存为w.txt,也可以从url中获取。该网址仅计为5个字节,因此您不需要网址缩短器。 如果程序无法打开文件,而不必读取名称从标准输入的输入(我相信这就是是为Pyth至少的情况下),然后将文件名可以作为一个独立的输入参数。 输出必须仅是一个句子(有效单词列表),以句点和可选的换行符结尾。 输出中的单词数必须与第1部分中原始句子的字母数相同(顺序正确) 原始句子中使用的所有字母都必须在新输出中使用。 句子必须以与原始输入句子相同的大写字母开头,并以句点结尾。 两个部分: 这两个部分的执行时间都不会超过2分钟(随机选择单词,直到无法解决为止)。 使用上面列出的规则,应该有很大的机会复制完全相同的句子,但这不是必须的。 例子: 在以下示例中,显示了一些不同的输入和输出格式。接受更多。 第1部分: 输入: Zulus win. 输出类型1: Z i l n s …

2
解释电路图
您面临的挑战是解释一个带有逻辑门的电路图。 逻辑门(完成此挑战您实际上不需要知道它们的作用/作用): 和门: a 或门: o 南德门 A 也门: O 异或门 x xnor门: X 不是门: ~ 每个闸门但最后一个闸门需要两个输入。输入来自.以门为中心的3 x 3正方形的左上角和左下角。否则,输入直接在其左侧。输出.直接到右侧。 电线用 -|\/.= - 接触两根电线,一根在右边,另一根在左边: c-c | 接触两根电线,一根在上面,另一根在下面: c | c /并且\工作如下: c c \ / c c . 接触周围的所有电线: ccc c.c ccc =很特别 它通过它连接相邻的导线: -=- 连接两根线。在下面的 \|/ -=- /|\ 相对的每根电线都相互连接,但彼此之间却不相连(这与有所不同.)。 为了使电流流过,两根导线必须都被连接到另外一个,所以在|-,电流也不会流动。 …

2
数论解释器,模n
一个句子数论(我们的目的)的是下列符号序列: 0和'(后继) -后继手段+1,所以0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加法)和*(乘法) = (等于) (和)(括号) 逻辑运算符nand(a nand b是not (a and b)) forall (通用量词) v0,v1,v2等。(变量) 这是一个句子的示例: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) 这not x是简写x nand x-实际的句子会用到(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 


3
同名,me子!
编写一个函数或程序,当给定名称列表时,输出或返回一个列表,其中给定名称的重复项具有其姓氏的唯一缩写形式。 输入: 名称列表,其中名称由给定名称定义,姓氏由空格分隔。名称是仅包含大写和小写字母的非空字符串。该列表可以是字符串数组,也可以是用恒定的非字母,非空格字符分隔的名称,但是输出的格式必须与输入的格式相同。 输出: 输入名称的列表,其顺序和格式与通过以下规则修改的输入相同: 对于唯一的给定名称,仅输出给定名称 对于具有相同给定名称的名称: 除了其给定名称外,还要添加其姓氏的最短唯一版本,该版本不与其他名称共享,后跟一个句点。例如: John Clancy, John Smith变John C.,John S.和James Brown, James Bratte变James Bro.,James Bra. 如果一个姓氏是另一个姓氏的子集,例如Julian King,Julian Kingsley,则返回较小的姓氏的完整姓氏,不带句点。这个例子将成为Julian King,Julian King. 基本上,句点代表正则表达式.+,其中只有一个名称应与之匹配。 您可能会假设没有人会共享相同的给定名称和相同的姓氏 名称区分大小写 测试用例: John Clancy,Julie Walker,John Walker,Julie Clancy -> John C.,Julie W.,John W.,Julie C. Julian King,Jack Johnson,Julian Kingsley > Julian King,Jack,Julian King. Jack Brown,Jack Black,Jack …

1
我<3有条件
您最终在代码中有很多很长,看起来很无聊的条件: if flag == 1: while have != needed: if type == 7: 这些可以转换为它们更可爱的&lt;3条件副本: if abs(flag - 1) + 2 &lt;3: while 3 - abs(have - needed) &lt;3: if 2 + abs(type - 7) &lt;3: 任务 您的任务是带条件并使其成为条件&lt;3。唯一重要的间距是&lt;和之间没有间距3。 条件语句将是要么分隔两个表达式==,!=,&gt;,&lt;,&gt;=或&lt;=。 表达式将仅包含加,减,一元否定(-something),其中每个变量或数字前面有一个+或-一个(除了第一个没有变量或没有变量或数字-之前)。 数字将为[0-9]+,变量将为[a-z]+。如果需要使用答案|x|(的绝对值x),请使用该abs()函数。您可以假设所有变量都是整数,并且输入中的所有数字常量均小于1000。 输出并没有需要在它的简单形式。它确实需要像上面的条件表达式,这意味着它仅是两个表达式,以一个条件符号分隔,但是它也可以使用abs函数,将有效表达式括起来,然后就有效性而言就像变量一样。 如果输入没有任何变量值的输出,则输出始终为false但仍以表示的条件&lt;3。 挑战的一部分是弄清楚如何做到这一点,但以下是上述步骤have != needed: have != needed have - …

2
电视上有什么?
挑战 编写一个程序,该程序使用来自此处站点的XML数据显示当前在BBC 1上显示的程序的名称。 信息 所有时间均为伦敦时间(发布时为GMT + 1,10月30日之后为GMT + 0)。因此,您应该将当地时间转换为伦敦时间。 每个程序都有一个开始和结束时间。如果当前时间在程序的开始时间之后和结束时间之前,则该程序当前正在显示。您的程序可能会以您希望的任何方式处理重叠。 您的输出必须是程序标题,如下所示: BBC News 但是,如果程序有字幕(由字幕标签显示),则输出应如下所示: Steptoe and Son: The Piano 其中“ 斯特普托和儿子”为标题,“钢琴”为副标题。带有字幕的示例程序如下: &lt;programme&gt; &lt;subtitle&gt;Newcastle&lt;/subtitle&gt; &lt;title&gt;Flog It!&lt;/title&gt; &lt;end&gt;1710&lt;/end&gt; &lt;start&gt;1610&lt;/start&gt; &lt;desc&gt; Antiques series. Paul Martin presents from the Discovery Museum in Newcastle. The items uncovered include a book of autographs with a local …

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

4
该HTML实体是什么字符?
目标真的很简单。接收字符串作为输入,解析与以下字符(包括它们的大写变体)相对应的所有HTML实体: áàãâäéèêëíìîïóòõôöúùûüýÿ 解析规则: 每个实体都以开头&amp;和结尾; 之后的第一个字符&amp;将是修改后的字符(大写字母很重要!) 其余字符是指口音的名字就使用(acute,grave,circ,tilde和uml)。重音名称必须为小写!* 产生一个字符,则不在此列,或者是无效的任何HTML实体,应保持不变(如:&amp;amp;,&amp;etilde;,&amp;a;) 数字实体应被忽略,因为它们不符合上述规则 此更改自2016年2月18日开始引入。接受带有大写重音符号的HTML实体的所有现有答案均有效。以后的任何回答都必须遵循此规则。 例子: &amp;aacute; //á T&amp;eacute;h&amp;egrave;h //Téhèh an &amp;amp; //an &amp;amp; 输出: 输出可以是ISO-8859- X(1-15),windows-1252或UTF-8 / 16/32。 您只能选择一种有效的编码,并将其用于任何输出。您可以放心地假设输入将为ASCII。 以下任何一项是的有效输出&amp;aacute;: á(ISO-8859-1 / 15或Windows-1252,等效于\xE1) á(UTF-8,等效于\xC3\xA1或\u00E1) aÌ(UTF-8,等效于a\xCC\x81或a\u0301) 不使用HTML实体的变音符号的任意组合。 呈现/显示时,输出必须在视觉上类似于列表中的字符。 请记住,所有标准漏洞和内置 *都是不允许的。由于这是代码高尔夫球,因此最短的答案将获胜。 *做出此更改是由于奖金和罚款的严重不当,并且在撰写本文时不会使任何答案无效

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.