Javascript 的新手,有人可以帮我解决这个子串问题吗?
New to Javascript, could someone help me with this substring problem?
下面的脚本returns下面放到我的html:
"3.9 °C {警报,unackedAlarm}"
我想删除“{alarm,unackedAlarm}”部分,以便它只显示温度值。我相信我需要使用子字符串来实现此目的,但我不知道将它放在哪里?
谢谢
<script src="https://requirejs.org/docs/release/2.3.6/minified/require.js" ></script>
require(['baja!', 'dialogs'], function (baja, dialogs) {
var sub = new baja.Subscriber();
sub.attach('changed', function(prop) {
if(prop.getName() === 'value');
{
document.getElementById("oat").innerHTML = ( this.get(prop));
}
});
baja.Ord.make('station:|slot:/BajaScriptExamples/Components/Ramp/out/value').get({ subscriber: sub});
});
'''
我建议使用正则表达式方法以防字符数发生变化。
function extract(text) {
const pattern = /^(.*) {.*}$/g;
const match = [...text.matchAll(pattern)];
if (match.length == 0 || match[0].length == 0) {
console.error("text does not match");
return;
}
return match[0][1];
}
console.log(extract("3.9 °C {alarm,unackedAlarm}"));
这里的主要思想是捕获任何遵循这种模式(.*) {.*}
和return括号(组)之间的字符串。
使用 Javascript 的 split()
函数可以轻松完成提取字符串特定部分的要求。
以下是使用拆分的工作示例:
示例1:在空格处拆分字符串并打印前两部分。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var str = "3.9 °C {alarm,unackedAlarm}"
var result = str.split(" ")
document.getElementById("demo").innerHTML = (result[0] + " " + result[1])
</script>
</body>
</html>
示例 2:在“{”处拆分字符串并打印第一部分。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var str = "3.9 °C {alarm,unackedAlarm}"
var result = str.split("{")
document.getElementById("demo").innerHTML = (result[0].trim())
</script>
</body>
</html>
输出:
3.9 °C
更多信息:
下面的脚本returns下面放到我的html:
"3.9 °C {警报,unackedAlarm}"
我想删除“{alarm,unackedAlarm}”部分,以便它只显示温度值。我相信我需要使用子字符串来实现此目的,但我不知道将它放在哪里?
谢谢
<script src="https://requirejs.org/docs/release/2.3.6/minified/require.js" ></script>
require(['baja!', 'dialogs'], function (baja, dialogs) {
var sub = new baja.Subscriber();
sub.attach('changed', function(prop) {
if(prop.getName() === 'value');
{
document.getElementById("oat").innerHTML = ( this.get(prop));
}
});
baja.Ord.make('station:|slot:/BajaScriptExamples/Components/Ramp/out/value').get({ subscriber: sub});
});
'''
我建议使用正则表达式方法以防字符数发生变化。
function extract(text) {
const pattern = /^(.*) {.*}$/g;
const match = [...text.matchAll(pattern)];
if (match.length == 0 || match[0].length == 0) {
console.error("text does not match");
return;
}
return match[0][1];
}
console.log(extract("3.9 °C {alarm,unackedAlarm}"));
这里的主要思想是捕获任何遵循这种模式(.*) {.*}
和return括号(组)之间的字符串。
使用 Javascript 的 split()
函数可以轻松完成提取字符串特定部分的要求。
以下是使用拆分的工作示例:
示例1:在空格处拆分字符串并打印前两部分。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var str = "3.9 °C {alarm,unackedAlarm}"
var result = str.split(" ")
document.getElementById("demo").innerHTML = (result[0] + " " + result[1])
</script>
</body>
</html>
示例 2:在“{”处拆分字符串并打印第一部分。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var str = "3.9 °C {alarm,unackedAlarm}"
var result = str.split("{")
document.getElementById("demo").innerHTML = (result[0].trim())
</script>
</body>
</html>
输出:
3.9 °C
更多信息: