- PR -

[C#]文字の切り出し

1
投稿者投稿内容
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-06-13 15:47
いつもお世話になっております。
C#でHTMLの文字切り出しを行いたいと思っています。
その際、XMLファイルで文字の指定をすると、うまく切り出すことができません。
現在、以下のように記述してあります。
(htmlの20060501を切り出したい)
■XMLファイル
 <data_startmark value = "&lt; /&gt;\\r\\n" />
 
■C#記述
 html ="\\r\\n\\r\\n<html>\\r\\n<body>\\r\\n15:16:29< />\\r\\n20060501</>\\r\\n\\r\\n</body>\\r\\n</html>\\r\\n"
 string startmark = xml.Getxml("ucs","data_startmark");
 int start = html.IndexOf(startmark,0) + startmark.Length;
 int end = html.IndexOf(endmark,start);
 string result = html.Substring(start, end -start);

XMLで指定する文字列から、"\\r\\n"を抜くとstartの値が正しいものがでます。
"\\r\\n"を入れたままでデバッグすると、
startmark = @"< />\\r\\n"
と表示され、html.IndexOf(startmark,0)の値が-1になります。

どうしたら\\r\\nを含む文字列でstartの値を正しく取ることができるのでしょうか。
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-06-13 16:44
追記です。
startmarkの@がなくなればどうやら正しい値が取れるのですが、
@を取るためにはどうしたらよいでしょうか・・・。
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2006-06-13 16:55
引用:

みゅーたんさんの書き込み (2006-06-13 16:44) より:
@を取るためにはどうしたらよいでしょうか・・・。


【この辺】
_________________
音速の定時退社!
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2006-06-13 16:55
「</>¥¥r¥¥n」という文字列ですが、変数 html の中では '<' '/' '>' '¥' 'r' '¥' 'n' の7文字です。そのXMLファイルから取れるデータでは、'<' '/' '>' '¥' '¥' 'r' '¥' '¥' 'n' の9文字です。そのへんの違いが原因ではないでしょうか。



(¥トラップに引っかかったので修正)


[ メッセージ編集済み 編集者: スフレ 編集日時 2006-06-13 16:57 ]
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-06-13 17:00
検索語は 属性値の正規化
第19回 落とし穴が潜む属性値の正規化
http://www.atmarkit.co.jp/fxml/rensai/w3cread19/w3cread19.html

引用符囲み → リテラル
常にそうとは 限らない。

属性は 調理(cook)されます、xmlパーサーによって
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-06-14 10:52
皆様ご回答ありがとうございます。

いろいろ教えていただいたものを読んでみたのですが、
初心者の私には難しく・・・
(ごめんなさい。Yamさんのは見れませんでした)

文字列を先に加工して¥マークを外すことにしました。

また勉強してここを見てきちんとできるようにしたいと思います。
ありがとうございました。
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2006-06-14 11:01
引用:

みゅーたんさんの書き込み (2006-06-14 10:52) より:
(ごめんなさい。Yamさんのは見れませんでした)


おっと!LINKにするとhttp://が付いてしまいますね。失礼しました。
VSのヘルプです。

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_csref/html/3037e558-fb22-494d-bca1-a15ade11b11a.htm

1

スキルアップ/キャリアアップ(JOB@IT)