簡體   English   中英

替換網址中的寬度和高度

[英]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,但找不到任何東西。

謝謝。

如果我正確理解,您正在嘗試將hw=號后的值替換。

您可以使用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=123w=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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM