2017-08-29 98 views
0

删除地址我有持有与此类似

CNEWS # Trinidad : "By Any Means Necessary" Watson Duke Swims And Sails To Toco http://somewebsitehere.com

我能做些什么,以从列删除整个HTTP地址文本我的数据库中的列?请注意,一些链接可能会被打破,所以它可能有http:// somewebsitehere.com

我正在考虑使用子字符串索引,但不知道这将工作。

回答

0

您可以使用您最喜欢的编程语言遍历表中的行,将该列取出,对其应用正则表达式替换规则,然后使用新值更新表中的行。

下面是一些伪代码:

theRows = SELECT * FROM TheTable WHERE 1; 
foreach row in theRows 
BEGIN 
    oldColumnValue = row[theColumnName] 
    // Removes any link appearing at the end of the column 
    newColumnValue = oldColumnValue.replace(/http:\/\/[^\s]*$/, '') 
    UPDATE TheTable SET theColumnName = newColumnValue WHERE id = row[id] 
END 

对于小和一些具体的事情,因为这,你可以用perl与DBI库连接到MySQL。如果您想进一步了解如何使用正则表达式,请参阅以下内容:http://www.regular-expressions.info/perl.html