我试图拆分一个字符串。
我一直在搜索,但我只发现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
。
答案 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