2012-03-30 24 views
0

"?"の後に文字列内のすべての文字を削除する必要があります。このようなマーク:「?」文字列内の一連の文字を削除する

http://xyz.com//static/css/style.css?v=e9b34 

私はただでそれを吐き出すことができないしかし、私はパターンがextension-?-any_chars_or_symbols

誰でも与えることができますつまり、何か.xyz?any_char_or_symbols

であることを確認する必要がありますヒント?

+1

[何を試しましたか?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+0

私は "css?"サブストリングとそこから+ 3を最後まで削除します。とにかくファイル名の前にあなたのURLに疑問符が含まれることはほとんどありませんが、それはあなたが探しているところです。 –

答えて

1

私はここで何かをしないのですか、これはそれをしない:

String s = "http://xyz.com//static/css/style.css?v=e9b34"; 
int index = s.indexOf('?'); 
if (index<0) 
    return null; 
String returned = s.substring(0,index); 
if (returned.endsWidth(".xyz"); 
    return returned; 
else 
    return null; 
+0

これは先行する内線番号をチェックしません。 –

+0

@ChristofferHammarströmこれで、? 「.xyz」が前に付いています。彼が探しているものですか? –

1
return s.replaceFirst("(\\.\\w+\\?).*$", "$1"); 
0

まず後の文字を削除しますか?エクステンションを確認してください。

String url="http://xyz.com//static/css/style.css?v=e9b34" ; 

url=url.substring(0, url.indexOf("?")); 

System.out.print(""+url.matches("^[\\w\\d\\:\\/\\.]+\\.\\w{3}(\\?[\\w\\W]*)?$")); 

url.matchesは拡張子をチェックします。私は3単​​語w {3}のためにそれを定義しましたが、あなたはw {3,5}としてそれを増やすことができます。今度は3〜5語のエクステンションを受け入れます。特定のフォーマットが必要な場合は、このpatterenを使用してください。

url.matches("^[\\w\\d\\:\\/\\.]+\\.(?i)(css|txt|html)?$") 

希望します。

関連する問題