[英]Replacing width and height in url
更改w =數字和h =數字的最簡單方法是什么?
網址示例:
https://test.com/photos/226109/test-photo-226109.jpeg?w= 1260 &h = 750 &auto = compress&cs = tinysrgb&fit = crop
我必須動態更改加粗部分。
我可以這樣提取w的值:
s = s.substring(s.indexOf("=") + 1, s.indexOf("&"));
但是我該如何改變呢? 我嘗試搜索Stackoverflow,但找不到任何東西。
謝謝。
如果我正確理解,您正在嘗試將h
和w
的=
號后的值替換。
您可以使用RegEx進行以下操作:
"https://test.com/photos/226109/test-photo-226109.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb&fit=crop"
.replaceAll("w=\\d+", "w=NEW_VALUE").replaceAll("&h=\\d+", "&h=NEW_VALUE")
上面發生的事情是,我們首先找到匹配w=AnyNumberHere
然后將整個部分替換為w=NEW_VALUE
。 同樣,我們將&h=AnyNumberHere
替換為&h=NEW_VALUE
此解決方案不受長度限制,因此,如果URL具有可變長度,則此方法仍然有效,例如,如果值h=123
或w=1234
不存在,甚至可以使用;)
您可以使用String replaceAll方法。 使用示例:
String string =
"https://test.com/photos/226109/test-photo-226109." +
"jpeg?w=1260&h=750&auto=compress&cs=tinysrgb&fit=crop";
String replacedString = string
.replaceAll(string.substring(string.indexOf("=") + 1,
string.indexOf("&")), "1000");
從字符串中獲取數字時,可以將其轉換為StringBuffer。 像這樣
String s = new String("https://test.com/photos/226109/test-photo-226109.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb&fit=crop");
StringBuffer sb = new StringBuffer(s);
sb.replace(s.indexOf("w=") + 2, s.indexOf("&"), "2000");
sb.replace(s.indexOf("h=") + 2, s.indexOf("&"), "2000");
s = sb.toString();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.