我希望从用户输入创建一个url友好字符串(一个只包含字母、数字和连字符的字符串):
删除所有非a-z、0-9、空格或连字符的字符。
用连字符替换所有空格
用单个连字符替换多个连字符
预期产出:
my project -> my-project
test project -> test-project
this is @ long str!ng with spaces and symbo!s -> this-is-long-strng-with-spaces-and-symbos
目前,我正在分三步完成这一工作:
$identifier = preg
我必须匹配模式,并且我在regexp方面做得很差。
我必须匹配一个像这样的字符串ABC-12345,这是一个完美的字符串。但用户可能会犯错误(对于开发人员来说总是如此),用户可以在连字符的任何一侧添加空格,因此,如果是这样,代码应该能够匹配
ABC- 12345 one white space left side of hyphen
ABC -12345 one white space right side of hyphen
ABC - 12345 one white space both side of hyphen
我尝试过/s和[[:blank:]],但
我有一个字符串数组,它来自哈希表中的数据。我试图删除任何(显然)空元素,但由于某种原因,似乎有一个顽固的元素拒绝删除。
我正在做:
# Get list array from hash first, then
@list = grep { $_ ne ' ' } @list;
@list = uniq @list;
return sort @list;
在grep行,我得到了Use of uninitialized value in string ne...消息,下面正确打印了数组的其余部分。
我试过用“长”的方法:
foreach (@list) {
if ($_
sql = 'select "productID" from "Barneys_Output" where "designerID" = %s' %self.id
db = self.cursor.execute(sql)
self.id类似于N-1f27va5 (总是有连字符)。假设游标和连接已经建立。我在说psycopg2.ProgrammingError: syntax error at or near "f27va5"时出错了。psycopg2读取连字符有问题吗?这个案子的解决方案是什么?
我对Python很陌生,并且在使用正则表达式将外部文件解析为列表中的单个单词时遇到了困难。我必须能够正确地插入像“不要”这样的收缩词和像“x射线”这样的连字符。
实际上,我有两件事不能正常工作: 1)我的list为最后一个元素插入了一个空字符串;2)当试图对单引号或连字符进行拆分时(在前面或后面有一个空格),它会在特殊字符上分裂,而不管旁边是什么字符。
我以为你可以在括号里加上字符来表示“这之后是这个”,但这似乎行不通。
下面是我的代码片段:
with open(badWords, 'r') as f:
line = f.read().strip()
我知道这可以通过字符串拆分来完成,但是我对这个正则表达式的解决方案很感兴趣。基本上,我希望在空格连字符(“- ")前后检索整个字符串。我试过:
^[^-]*
这适用于字符串,如
EK725 - London to Paris
但是一旦有了一个没有空格的连字符
EK-725 - London to Paris
它坏了。使用^[^ - ]*似乎也不起作用。另外,我不确定在空格连字符之后检索文本的语法是什么。解决办法是什么?
我有一个包含长文件名的文档,后面跟着一个连字符,然后是对文件内容的描述。这些文件都是PDF文件。我正在把这个文件转换成我们网站上的一个页面,这样它就有了文件名,这应该是文件的链接,然后是文件内容的描述。
我对VIM的基本知识相当熟悉,但是高级搜索/替换是我所缺乏的。我想要做的是将每个文件名转换为指向该文件名的链接。例如:
WebAdapt_Prod_Int_10.1_Install.IIS7.2008R2.pdf - Step by step instructions for installing ArcSDE 10.1 for Oracle on the ‘Test’ environment