如何在不使用数组的情况下拆分String?

时间:2018-01-31 14:12:08

标签: java string split

我试图拆分一个字符串。

我一直在搜索,但我只发现split与数组一起使用的情况,例如,如果您有字符串"i love stackoverflow"并使用split,则输出将为{ {1}}

而不是我有一个格式为[i,love,stackoverflow]的字符串而我只想要它的"URL_cars_es"部分,因为我有多个文件进入我的数据库,使用不同的语言让我说{{1} }} es等等。我只需要拆分并只获取"URL_cars_it"所以我可以将其传递给我的"URL_cars_nb"并获取不同的文件

我使用以下代码

获得nb,es,it
StorageReference

我还需要将其修剪/拆分为URL_cars_es

3 个答案:

答案 0 :(得分:8)

如果您不想使用数组/拆分。然后你可以使用lastIndexOf(给定字符最后一次出现的索引)然后从该索引位置进行子串。

String s1   = "URL_cars_it";
int lastPos = s1.lastIndexOf('_'); // return the index of the last occurrence

s1 = s1.substring(lastPos + 1); // return `it`

答案 1 :(得分:3)

这个怎么样:

String countryCode = es.split("_")[2] //only take the 3rd entry of the array

我现在脑海中没有split()实现,只是猜测它应该如上所示。

答案 2 :(得分:2)

另一种方法是使用String::replace方法删除String str = "URL_cars_es"; System.out.println(str.replace("URL_cars_", ""));

use Modules\Core\Interfaces\IDatabase;
use \DB;

class DatabaseService implements IDatabase
{  
  protected $db;

  public function __construct(DB $db)
  {
    $this->db = $db;
  }

  public function select($str)
  {
    $this->db::select($str);
    return $this->db;
  }

  public function table($tableName)
  {
    $this->db::table($tableName);
    return $this->db;
  }

  ...
}

输出:

  

ES