我想创建一个程序,它可以将用户输入的字符串重新格式化为更可接受的字符串。你知道吗
字符串的格式应为:
a list of authors (year) title, other information
例如,如果用户输入:
"suleman, h (2001) Some Random Piece Of Junk, Journal of Junk, ACM, pp1-100, 2000"
我的程序应该返回:
"Suleman, H (2001) Some random piece of junk, Journal of Junk, ACM, pp1-100, 2000."
以下是一个基于输入字符串结构的有效解决方案:
运行结果:
我原本以为.title()会为您提供所需的大小写,但您有需要完全大写的术语,如ACM,以及需要完全小写的部分,如“pp1-100”。所以我采取了更结构化的方法。注意,这不适用于复合引用。我怀疑必须有一个特定的python库来处理引用的适当大小写。但是,由于规则可能很复杂,而且插入并不总是干净的,因此无法保证正确的处理。你知道吗
上面我详细介绍的方法假设最后三个逗号分隔的术语是特例,但前面的所有内容都遵循TitleCase规则。你知道吗
建议:
对输入字段进行防御性编码,以便以某种方式将要大写的信息分组在一起。即,TitleCase字段、所有CAPS字段、所有LOWER字段和left-AS-IS字段。你知道吗
然后在代码中进行相应的处理。你知道吗
相关问题 更多 >
编程相关推荐