[ad_1]
こんにちは皆さん、私はコードを持っています、このコードはこれを印刷します
https://api.binance.com/api/v3/ticker?symbols=["BTCUSDT","BNBBTC",]&windowSize=1d&type=full
四角い括弧内の最後のカンマを削除したいのですが、このようなものが欲しいです
https://api.binance.com/api/v3/ticker?symbols=["BTCUSDT","BNBBTC"]&windowSize=1d&type=full
どのようにしてそれが可能ですか
私が試したこと:
<pre>urlencode() { local string="$1" local length="${#string}" local result="" for (( i = 0; i < length; i++ )); do local c="${string:$i:1}" case $c in [-_.~a-zA-Z0-9]) result+="$c" ;; *) result+="%$(printf '%02X' "'$c")" ;; esac done echo "$result" } # ---------------- BINANCE ------------------------------------- # Market # Market Data ServerBinance="https://api.binance.com/api/v3" response="" _Bin_RollingWindowPriceChangeStat() { local apiUrl="$ServerBinance/ticker" # Verifica la presenza di symbol o symbols if [[ "$1" == *","* ]]; then IFS=',' read -ra symbols <<< "$1" local encodedSymbols=$(IFS=,; printf "\"%s\"," "${symbols[@]}") apiUrl+="?symbols=[$encodedSymbols]" shift elif [ -n "$1" ]; then apiUrl+="?symbol=[\"$1\"]" shift fi # Aggiungi i restanti parametri if [ -n "$1" ] && [ -n "$2" ]; then apiUrl+="&windowSize=$1&type=$2" fi # Visualizza l'URL costruito prima della chiamata di curl echo "URL: $apiUrl" response=$(curl -s -X GET "$apiUrl") }
解決策 1
文字列置換を使用します。 Bash で部分文字列をネイティブに置換する方法[^]
検索する文字列: ",]
置換する文字列: "]
「予備のコンマ」がある場合は削除されます。 そうでない場合、文字列は変更されません。
[ad_2]
コメント