获取字符串中的值字符串 [英] Get value string in string
本文介绍了获取字符串中的值字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的字符串:
Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12/16 16:52 ke 6285811111111 SUKSES ,Saldo:Rp 3,482,350.00,TID:0071272220111111111。
我想要获得价值 - >
Saldo:Rp 3,482,350.00
希望你能帮助
我尝试过:
int startIndex = strKeterangan.IndexOf(Rp);
int endIndex = strKeterangan.IndexOf(,,startIndex);
sisaStok = strKeterangan.Substring(startIndex,endIndex - startIndex);
解决方案
使用正则表达式:
public static 正则表达式regex = new 正则表达式(
(?< = Saldo:\\\ \\ sRp \\\\ +)[\\\\,\\。] *(?=,\\止),
RegexOptions.Multiline
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
...
// 捕获InputText中的第一个Match(如果有)
匹配m = regex.Match(InputText);
if (m.Success)
{
string value = m.Value;
...
尝试正则表达式:
使用System;
使用System.Text.RegularExpressions;
公共课程
{
public static void Main()
{
string str =Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12 / 16 16:52 ke 6285811111111 SUKSES,Saldo:Rp 3,482,350.00,TID:0071272220111111111。;
Regex regex = new Regex(@Saldo:Rp [\\\,\。] +(?=,));
匹配匹配= regex.Match(str);
if(match.Success)
{
Console.WriteLine(match.Value);
}
}
}
学习:
1. 30分钟正则表达式教程 [ ^ ]
2. 在c#中使用正则表达式 [ ^ ]
原始字符串是:
Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12/16 16:52 ke 6285811111111 SUKSES,Saldo:Rp 3,482,350.00,TID:0071272220111111111。
在代码中搜索第一个,
int endIndex = strKeterangan.IndexOf(,,startIndex);
这个找到,里面3,482,350.00
如果你使用 LastIndexOf 搜索 last ,在字符串中使用:
int endIndex = strKeteran gan.LastIndexOf(,,startIndex);
你会找到你想要的东西
I have string like this :
Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12/16 16:52 ke 6285811111111 SUKSES, Saldo: Rp 3,482,350.00, TID:0071272220111111111.
I want get value ->
Saldo: Rp 3,482,350.00
Hope you help
What I have tried:
int startIndex = strKeterangan.IndexOf("Rp"); int endIndex = strKeterangan.IndexOf(",", startIndex); sisaStok = strKeterangan.Substring(startIndex, endIndex - startIndex);
解决方案
Use a regex:
public static Regex regex = new Regex( "(?<=Saldo:\\sRp\\s+)[\\d,\\.]*(?=,\\s)", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled ); ... // Capture the first Match, if any, in the InputText Match m = regex.Match(InputText); if (m.Success) { string value = m.Value; ...
Try the regex way:
using System; using System.Text.RegularExpressions; public class Program { public static void Main() { string str = "Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12/16 16:52 ke 6285811111111 SUKSES, Saldo: Rp 3,482,350.00, TID:0071272220111111111."; Regex regex = new Regex(@"Saldo: Rp [\d,\.]+(?=,)"); Match match = regex.Match(str); if (match.Success) { Console.WriteLine(match.Value); } } }
Learn:
1. The 30 Minute Regex Tutorial[^]
2. Use regex in c#[^]
The original string is:
Isi Voucher Regular 10K seharga Rp 10,400.00 pada 13/12/16 16:52 ke 6285811111111 SUKSES, Saldo: Rp 3,482,350.00, TID:0071272220111111111.
In the code you searh the first "," with
int endIndex = strKeterangan.IndexOf(",", startIndex);
this find the "," inside 3,482,350.00
if you use LastIndexOf to search the last "," in the string with:
int endIndex = strKeterangan.LastIndexOf(",", startIndex);
you will find what you want
这篇关于获取字符串中的值字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文