confused with substring in android
本问题已经有最佳答案,请猛点这里访问。
我对android中的子字符串感到困惑。 在我的数据库中,我有pdf文件,例如DOGMATIKA-3.pdf,我要选择" pdf"。 如何在android中做到这一点? 我只想选择最后3个字母,任何人都可以帮助我,谢谢。 我已经尝试过使用此代码,但已强制关闭。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 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,""); } } } |
最后3个字母为
1 | param2.substring(params2.length() - 3) |
但是,您可以使用更清晰的
1 | param2.endsWith("pdf") |
正是这样。
只是那样使用
1 2 3 4 5 | String substr = param2.substring(param2.length() - 3); if("pdf".equals(substr)) { // use what you want } |
如果您打算使用.substring(),请使用
但是,您也可以像下面这样使用.split()方法:
1 |
这将创建一个排除所有"。"实例的新数组。 并将它们用作数组分隔符。 换句话说,如果您在上面的字符串中调用了这个.split(),您将得到
{" DOGMATIKA-3"," pdf"}
后一种方法适用于不是三个字符的文件扩展名。
尝试使用
i have file pdf like this DOGMATIKA-3.pdf and i want to select the
"pdf"
1 2 |
或者,您可以执行以下操作:
1 |