如何在javascript中获取动态子字符串?

如何在javascript中获取动态子字符串?,javascript,Javascript,我有一个滚动动画,想得到一个给定时间的过渡值 const transform = document.getElementsByClassName('slideContainer')[0].style.transform; 例如,我得到以下值:translate(-2.51028%,0%)translate3d(0px,0px,0px) 但我只想要-2.51028% 如何做到这一点?听起来您可能想使用正则表达式-它们是匹配字符串中模式的绝佳工具。您可以匹配字符串的开头,后跟翻译(),然后在一个组

我有一个滚动动画,想得到一个给定时间的过渡值

const transform = document.getElementsByClassName('slideContainer')[0].style.transform;
例如,我得到以下值:
translate(-2.51028%,0%)translate3d(0px,0px,0px)

但我只想要
-2.51028%


如何做到这一点?

听起来您可能想使用正则表达式-它们是匹配字符串中模式的绝佳工具。您可以匹配字符串的开头,后跟
翻译(
),然后在一个组中捕获尽可能多的非逗号字符。该组将具有所需的子字符串:

const transform='translate(-2.51028%,0%)translate3d(0px,0px,0px)';
const match=transform.match(/translate\([^,]+)/);
//匹配[0]指的是整个匹配的子字符串,
//匹配项[1]将包含第一个捕获的组:

console.log(match[1]);
听起来您可能想使用正则表达式-它们是匹配字符串中模式的好工具。您可以匹配字符串的开头,然后匹配
translate(
),然后在一个组中捕获尽可能多的非逗号字符。该组将具有您想要的子字符串:

const transform='translate(-2.51028%,0%)translate3d(0px,0px,0px)';
const match=transform.match(/translate\([^,]+)/);
//匹配[0]指的是整个匹配的子字符串,
//匹配项[1]将包含第一个捕获的组:

console.log(匹配[1]);
您可以使用
String.prototype.split()

let str=“translate(-2.51028%,0%)translate3d(0px,0px,0px)”

console.log(str.split(“”[1]);split(“”,“”[0]);
您可以使用
String.prototype.split()

let str=“translate(-2.51028%,0%)translate3d(0px,0px,0px)”

console.log(str.split(“”[1]。split(“”,“”[0]);
那么多人讨厌正则表达式:)。我希望我能做得更好……那么多人讨厌正则表达式:)。我希望我能做得更好。。。