簡體   English   中英

使用正則表達式從特殊字符前后的字符串中獲取數字

[英]Get the Digits From a String Before and After Special Character using regex

我有一個像5|10|20|200|300的字符串,我希望得到第一個數字之前| |后的最后一位數字 那是5和300。

我如何在javascript中使用正則表達式來返回這些數字?

這個最簡單的正則表達式將返回兩個匹配5300

^\d+|\d+$

查看演示中的匹配項。

在JS中:

result = yourString.match(/^\d+|\d+$/g);

說明

  • ^\\d+匹配字符串的開頭和一些數字( 5
  • 或者|
  • \\d+$匹配一些數字和字符串的結尾

JavaScript只保留(...)+的最后一次捕獲,因此您可以編寫

var m = "5|10|20|200|300".match(/(\d+)(\|(\d+))+/);

然后m[1]"5"m[3]"300"

使用split()方法將字符串轉換為數組

var str="5|10|20|200|300";
var res_array = str.split("|");

現在獲取數組的第一個和最后一個值:::

alert("First value is"+ res_array[0]);
alert("Last value is"+ res_array[arr.length - 1]);
var string = '5|10|20|200|300';
var array = string.split('|');
 //array[0] = '5';
 //array[array.length-1] = '300';

這不是我所知道的正則表達式,但在大多數情況下我總是發現拆分比較容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM