如何通过删除所有https 和 http来切断Memo1中域的链接。
https://site1.ru/threads/fdfddd2/
http://site2.ru/threads/fdfddd23434/
https://site3.ru/threads/fdfddd434/
输出会是什么
site1.ru
site2.ru
site3.ru
我是这样剪的,但是如果有1000-3000个链接就很长了!
// В начале удаляю все до //
for i:= 0 to Memo1.Lines.Count - 1 do
Memo1.Lines[i]:= Copy(Memo1.Lines[i], Pos('/', Memo1.Lines[i]) + 2, MaxInt);
// А после удаляю все после
for i:= 0 to Memo1.Lines.Count - 1 do
Memo1.Lines[i]:= Copy(Memo1.Lines[i], 1, Pos('/', Memo1.Lines[i])-1);
像往常一样,不要直接使用 VCL 组件中的文本,这会导致每次重新计算。从备忘录中获取文本,对其进行处理,然后将其放回。
如果您需要准确地削减http,那么至少这会快很多倍:
要删除之后的所有内容
/,您必须逐行工作。此选项几乎可以立即在 4000 行上运行。看看这里发生了什么:
当然,以一种好的方式,数据准备(切割)应该在将其放入界面之前完成。