我有以下字符串myString =
protected $table = 'residentials';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'property_id', 'residential_type_id','furnished','rooms','rent'
];
public function Property()
{
return $this->belongsTo('App\Property');
}
public function Residential_Type()
{
return $this->belongsTo('App\Residential_types');
}
我想得到ts =" 1467847506"从此字符串中添加1467847506 + 3600 并将其设置回ts =" 1467851106"
所以最后的myString是:
// Define table name
protected $table = 'residential_types';
protected $fillable = [
'residential_type'
];
/**
*
*/
public function Residential()
{
return $this->hasMany('App\Residential', 'residential_type_id');
}
非常感谢任何帮助
答案 0 :(得分:2)
要在字符串中嵌套引号,您应该使用单引号。否则,语法不正确。
至于问题本身,这是一个完美的例子,你可以使用split
函数将字符串分成多个组件。这里看起来你有三个参数,每个参数用逗号分隔。
JavaScript中的数组是零索引的,所以为了找到ts
的值,我们取数组的第二个元素(索引为1);
我们主要在这里寻找数字,所以我们可以调用replace
函数来消除所有非数字字符(正则表达式\ D)
将其转换为+
或parseInt
的数字。我们现在可以重置第二个元素以获得新值。
剩下的就是再次转换为字符串,我们执行与分割相反的join
。
请查看此代码段
var string = "id='eyJjbGFpbSI6IHsidHlwZSI6ICJkb21haW4iLCAicm9sZSI6ICJ1c2VyOk', ts='1467847506', nonce='YTcdzC'";
var components = string.split(',');
var ts = components[1];
var num = ts.replace(/\D/g, '');
var newNum = +(num) + 3600;
components[1] = "ts='" + newNum + "'";
string = components.join(', ');
console.log(string);