3
空白と0または任意の多数の数字の前に0以外の任意の数字をつけ、+または - ドットに。VB/Regex:文字を前後の文字の条件に置き換えてください
これまでのところ、私はゼロが続いていないすべてのゼロまたは数字の任意の量と+またはを置き換えることができた - ドットで、この使用:。
Str1 = " 0 0c000c0+c0-c 10c0c"
Str2 = Regex.Replace(Str1, "(?!\s+\d*)0(?!\d*[\+\-])", ".")
これは返す ".Cを... c0 + c0-c 1.cc "、最後の部分が動作しているので、最初の部分は動作しません。
私はこのパターンに従っている場合にはゼロが置き換えられることを望む:
<stuff><not a space followed by numbers>0<other numbers not followed by a plus or minus><more stuff>
例:
" 100c" >>> " 100c"
"c00c10+" >>> "c..c10+"
" 0 0cc0c0-" >>> " 0 0cc.c0-"
私はこの仕事を得ることができますどのように?
期待される結果は「 0 0c ... c0 + c0-c 10c.c'ですか? '(?<!\ s \ d *)0(?!\ d * [+ - ])'を試してください。 –
[このデモ](http://regexstorm.net/tester?p=%28%3f%3c %5cd *%290%28%3f!%5cd *%5b%5c%2b%5c-%5d%29&i = + 0 + 0c000c0%2bc0-c + 10c0c%0d%0a + 100c +%3e%3e %3e ++ 100c%0d%0ac00c10%2b +%3e%3e%3e + c..c10%2b%0d%0a + 0 + 0cc0c0 - %3e%3e%3e ++ 0 + 0cc.c0-&r = 。)、期待どおりに動作しますか? –
ええ、それはすべきです!どうもありがとう! –