2017-03-08 114 views
-1
​​

我需要从上面的字符串的双值。 长度不是固定的卢比。值(1000)。如何获得特定的字符串形式的字符串

如何获取此值?

+1

看看这里:http://stackoverflow.com/questions/4662215/how-to-extract-a-substring-using-regex 你将需要一个不同的正则表达式,但这是我会去与 –

+0

看看这里 http://stackoverflow.com/questions/25225475/getting-a-substring-from-a-string-after-a-partular-word – mir

回答

1

为此,您需要使用java regex

下面是示例代码 正则表达式模式将根据您的要求而改变简单的正则表达式只能得到双倍值"\\d+\\.\\d+"

String line = "Thanx for purchasing this, Rs. 1000. Thanx for visiting"; 
     String regex = "[+-]?\d*\.?\d+([eE][+-]?\d+)?"; 

     String[] str = line.split(regex); 

其他明智的,你可以试试下面的代码

public String drawDigitsFromString(String strValue){ 
      String str = strValue.trim(); 
      String digits=""; 
      for (int i = 0; i < str.length(); i++) { 
       char chrs = str.charAt(i);    
       if (Character.isDigit(chrs)) 
        digits = digits+chrs; 
      } 
      return digits; 
     } 

我认为这会帮助你。

0

你可以让所有的单词的数组,并只使用这样的数字:

var text = "Thanx for purchasing this, Rs. 1000. Thanx for visiting"; 
 

 
var array = text.split(" "); 
 
var newText = array[5].replace(".",""); 
 

 
console.log(newText)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

文本可以任何数字空间,所以我们可以使用空间分割和采取数组[5]元素 –

0

如果没有其他号码,则在Rs之后。你可以使用

text.replaceAll("[^0-9]", ""); 

如果还有一些其他的号码,它会失败。

相关问题