2012-08-12 3 views
-1

당신은 나에게 다음과 같은 사항에 대해 정규식을 구성 도와주세요 수 : "This Tuesday $5 Million Jackpot 14/Aug/12, Draw 965"을하고 난 다음 추출해야합니다 :

내가 문자열이 문구에 "$5 Million"

수는 모든 숫자가 될 수 있습니다. 하지만 항상 "$N Million"처럼 보일 것입니다.

는 P.S : 내가 구문 분석하는 데 노력하고있어 실제 HTML은

<b>This Tuesday</b> 
$5 Million Jackpot 
<br /> 
14/Aug/12, Draw 965 

이 모두 아주 잘 설명되어 있기 때문에 내가 Regex에 대한 MSDN의 문서를 보는 것이 좋습니다 당신에게

+0

는 정규식의 학습보십시오. [Radixsigns] (http://www.radsoftware.com.au/regexdesigner/)를 [Regex cheatsheet] (http://regexlib.com/CheatSheet.aspx)와 함께 사용합니다. –

+0

여러분 모두 도와 주셔서 감사합니다. 정말 감사합니다. 그리고 예, 저는 정규 표현식을 배워야합니다. 고맙습니다 – Vazgun

답변

1

감사합니다.

static string GetJackpot(string content) 
{ 
    Match match = Regex.Match(content, @"\$\d+ Million", RegexOptions.IgnoreCase); 
    return match.Success ? match.Groups[0].Value : null; 
} 

중요한 부분 :

  • @"\$\d+ Million"는 리터럴 문자열 Million 다음에 하나 개 이상의 숫자 뒤에 문자 $ 기호를 찾습니다.
  • RegexOptions.IgnoreCase은 일치하는 동안 케이스를 무시하므로 "500 만 달러"와 일치합니다.
  • 정규식이 일치하지 않으면 (match.Success) null을 반환합니다.
  • 잭팟이 수백만 달러 (예 : "430 만 달러")가 될 수있는 경우 해당 표현을 수정해야합니다.

행운을 빌어 잭팟.

0
public string ParseMoney(string Sauce) 
{ 
    string Money = Regex.Match(Sauce, @"\$\d+\sMillion", RegexOptions.IgnoreCase | RegexOptions.Singleline).Value; 
    return string.IsNullOrEmpty(Money) ? "Unable to find money." : Money; 
} 

사용법 :

ParseMoney(HTML); 
+1

+1 토마토 소스 –

+0

@JeremyThompson 고맙습니다. 선생님 :) – DelegateX

관련 문제