0

URL のスラッシュの数を数えようとしています。

ただし、Java と StringUtils はこれを行いたくないようです。エンコーディングに関連しているのではないかと疑っていましたが、URLDecoder を使用しても効果がないようです。

私は持っている:

p.rint("Product");
p.rint(url);
p.rint(StringUtils.countMatches(URLDecoder.decode("url", "UTF-8"), "/"));

次のような結果が出力されます。

Product
http://stackoverflow.com/questions/ask
0

すべてが期待どおりに機能する場合、印刷物の最後の行は確かに4...

Note: p.rint() is my little hack for doing System.out.println()

URLDecoder.decode() も使用せずにこれを試しました。

4

3 に答える 3

6

定数Stringのスラッシュを数えていますが、名前付きの変数"url"からそれらを数えたいと思っていますurl

于 2013-10-31T06:58:56.123 に答える
5

これが問題です:

URLDecoder.decode("url", "UTF-8")

それは次のようになります。

URLDecoder.decode(url, "UTF-8")

それ以外の場合は、リテラルの「url」をデコードしています。これはそれ自体 (「url」) にデコードされ、文字列「url」にはスラッシュが含まれていません。おそらく、url代わりに変数の値に実際に興味があるでしょう。

次回、これを診断するための簡単な方法は、StringUtils.countMatches別のローカル変数を介して、他のすべての評価から心配しているメソッド ( )を分離することです。

p.rint("Product");
p.rint(url);
String decodedUrl = URLDecoder.decode(url, "UTF-8");
p.rint(decodedUrl);
p.rint(StringUtils.countMatches(decodedUrl, "/"));
于 2013-10-31T06:59:04.830 に答える