0

Androidの部分文字列と混同しました。私のデータベースには、この DOGMATIKA-3.pdf のようなファイル pdf があり、「pdf」を選択したいと考えています。ホーアンドロイドでそれを行うには?最後の 3 文字を選択したいだけです。どなたか助けてください。よろしくお願いします。私はすでにこのコードを試していますが、強制終了しました。

package mobile.download;

public class DownloadText extends Activity{
    public Koneksi linkurl;
    public Kondownload linkurl2;
    String url;
    String SERVER_URL;
    String SERVER_URL2;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.linkdownload);

        TextView mTextLink = (TextView) findViewById(R.id.LinkDownload);
        Bundle bundle = this.getIntent().getExtras();

        String param1 = bundle.getString("keyIdc");
        String param2 = bundle.getString("keyReference");
        if(param2.substring(-3, 0).equals("pdf"))
        {
            linkurl = new Koneksi(this);
            SERVER_URL = linkurl.getUrl();
            SERVER_URL += "/moodledata/"+param1+"/"+param2;
            mTextLink.setText(SERVER_URL);
            Pattern pattern = Pattern.compile(SERVER_URL);

           Linkify.addLinks(mTextLink, pattern, "");
        }
        else
        {
            linkurl2 = new Kondownload(param2);
            SERVER_URL2 = linkurl2.getUrl();

            mTextLink.setText(SERVER_URL2);
            Pattern pattern = Pattern.compile(SERVER_URL2);

           Linkify.addLinks(mTextLink, pattern, "");
        }

    }
}
4

5 に答える 5

1

最後の 3 文字はlength() - 3to length()(2 番目のパラメーターは暗黙的に length() であるため、必要ありません)

param2.substring(params2.length() - 3)

endsWithただし、どちらがより明確であるかを使用できます。

param2.endsWith("pdf")

まさにそれを行います。

于 2013-06-17T13:05:09.247 に答える
0

代わりに試してみてくださいparam2.substring(param2.indexOf("."), param2.length()).equals("pdf")..

于 2013-06-17T13:07:32.980 に答える
0

.substring() を使用する場合は、.substring() を使用してstring.substring(string.length()-3)ください。

ただし、次のように .split() メソッドを使用することもできます。

String [] split = string.split(".");

これにより、「。」のすべてのインスタンスを除外した新しい配列が作成されます。それらを配列セパレータとして使用します。つまり、上記の文字列でこの .split() を呼び出すと、次のようになります。

{"DOGMATIKA-3","pdf"}

後者の方法は、3 文字以外のファイル拡張子に対して機能します。

于 2013-06-17T13:07:37.167 に答える
0

このDOGMATIKA-3.pdfのようなファイルpdfがあり、「pdf」を選択したい

String test = "myPdf.pdf";
String extension = test.substring(test.lastIndexOf(".")+1, test.length());

または、次のこともできます。

String extension = test.substring(test.lastIndexOf(".")+1);
于 2013-06-17T13:05:57.420 に答える
0

そのように使うだけ

  String substr = param2.substring(param2.length() - 3);
      if("pdf".equals(substr))
    {
        // use what you want
    }
于 2013-06-17T13:08:13.000 に答える