-3

私が立ち往生している1つの条件があります:

文字列内の のような特定のシーケンスを、 の前または後にアルファベットがないMA場合にのみ、空白に置き換えます。MA

例えば:

入力文字列:

string abc= "This is a MAin method with MA .Use your MA and MAt it "

出力文字列:

string result = "This is a MAin method with .Use your and MAt it "

注:MA明確にするために大文字で書いています。jQueryを使用してそれを行う必要があります。

4

3 に答える 3

1

シンプルな Javascript RegExp だけで、jQuery は必要ありません。

var input = "This is a MAin method with MA .Use your MA and MAt it ",    
    output = input.replace(/([^A-Za-z])(MA)([^A-Za-z])/g, '$1$3');

[^A-Za-z]RegExpのは、質問で述べたように「アルファベット文字ではない」ことを意味します。数字も含めたい場合は、 を追加でき0-9ます。大文字か小文字かを気にしない場合は、代わりにMARegExp を終了してください。/ig

于 2012-06-06T12:06:45.923 に答える
1

次のような正規表現を使用できるはずですMA\s([^a-zA-Z]+)

そして、JavaScript(jqueryは不要)で次のようにします:

var abc = 'This is a MAin method with MA .Use your MA and MAt it ';
var result = abc.replace(/MA\s*([^a-zA-Z]+)/g, '$1')
console.log('We want: This is a MAin method with .Use your and MAt it');
console.log('We got:  ' + result);

http://jsfiddle.net/gjFCa/

次の出力が得られます。

We want: This is a MAin method with .Use your and MAt it
We got:  This is a MAin method with .Use your  and MAt it

スペースが多すぎますが、それを単純なものに置き換えることができるはずですresult = result.replace(' ', ' ');

于 2012-06-06T12:11:49.363 に答える
0
var input = "This is a MAin method with MA .Use your MA and MAt it ";

output = input.replace('MA ', '');
于 2012-06-06T12:10:23.783 に答える