我想修剪字符串中的字符。我的输出字符串是“Val:980”。我需要修剪前4个字母,这样我才能获得980个字母。
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get('https://example.com', {
headers: {
'Authorization': 'Basic fakjle=='
}
}).then(function(response) {
$scope.names = response.data;
$scope.decodedFrame = atob($scope.names.dataFrame) //Val:980 });
});
});
</script>
<div ng-app="myApp" ng-controller="myCtrl">
<table>
<tr>
<td> {{decodedFrame} </td>
</tr>
</table>
</div>
答案 0 :(得分:1)
尝试:
var value = $scope.decodedFrame.split(":")[1]; // actually safer to use split
value = (parseFloat(value) * 0.23) / 162;
看看(更多字符串方法): https://www.w3schools.com/js/js_string_methods.asp
答案 1 :(得分:1)
$ scope.decodedFrame.substring(4);
答案 2 :(得分:1)
如果您确定总是会得到“Val:”以及预期的数字(980),那么您可以通过以下方式使用拆分:
$scope.decodedFrame = $scope.decodedFrame.split('Val:')[1];
答案 3 :(得分:1)
你可以使用substring方法来获取像这样的字符
$scope.decodedFrame.substring(4);
但是,如果您需要在:
符号后获取所有字符,请使用split
方法
$scope.decodedFrame.split(':')[1];
答案 4 :(得分:1)
人们回答了如何修剪它,但也在.then
块中修剪它,这样你就会有一个清晰整洁的标记。
最好的建议是创建一个修剪前4个字符的customFunction,并将该函数应用于.then成功回调中的所有结果。
答案 5 :(得分:1)
你实际上有很多方法。其中之一:
$scope.decodedFrame = atob($scope.names.dataFrame);
$scope.decodedFrame = $scope.decodedFrame.substring(4);
但是如果你有这个参数的名称的动态长度(“Val”,“Value”,“V”,......),你也可以尝试这样的事情:
var tempValue = atob($scope.names.dataFrame);
tempValue = tempValue.split(":");
tempValue = tempValue[1] || '';
$scope.decodedFrame = tempValue.trim();