2007/06/18(Mon) 15:13:22 編集(投稿者)
プレビューで見てから投稿しようとしたら入力ミスで投稿失敗。
よく見たら、苦労した入力が全部消えてるし・・・・
でも、良かった、、、、正規表現は難しい・・・
■No4448 (blanco さん) に返信
> はつねさんの仰る通りで"で囲まれた"う"と"けこ"と"すせそ"の部分の色を変えたかったのです。
> iwaiwaさんのやり方もやろうと思ったのですが、思うようにロジックが浮かびませんでした。
> 他に方法はないでしょうか?なければ、
>>もう少し勉強し直しますが。。
例です。No2 と No3 の微妙な不明瞭点を盛り込んでありますが、微妙だけに何かが足りない
ものになっています。言語は、嫌味ではないのですが、JavaScript です。C#に直してくださいね。
こぴぺして、test.html で保存、実行すれば結果が出てきます。
<script>
str = "'AB'CDEF'GH''IJK'LMN";
replaceQuote("tomato", str);
function QuotedString(qStr, bQuoted) {
this.s = qStr;
this.b = bQuoted;
this.toString = function() {
if (this.b) return "<RED>" + this.s + "</RED>";
else return this.s;
}
}
function replaceQuote(color, inStr) {
var q = false;
var qArr = [];
var ss = "";
for (var i=0;i < inStr.length;i++) {
var cc = inStr.charAt(i);
if (cc == "'") {
if (inStr.charAt(i+1) != "'") {
qArr.push(new QuotedString(ss, q));
q = !q;
ss = "";
}
else {
ss += cc;
i++;
}
}
else {
ss += cc;
}
}
if (ss.length > 0) qArr.push(new QuotedString(ss, q));
ss = "";
for (var i=0;i < qArr.length;i++) {
ss += qArr[i].toString() + "\n";
}
alert(ss);
}
</script>