0

私はJqueryが初めてです。次のような文字列がありますDear < EmployeeList >, kindly complete your joining documentation and submit the same to < DepartmentList > latest by < DateCalendar >

「< EmployeeList >」を「ABC」に置き換えたい。

他の "< >" についても同様です。文字列全体が固定されていないため、そのように変更される可能性があります。

Dear < EmployeeList >, welcome to < FreeTextCompany > We wish you a long and prosperous association with us.

したがって、文字列は固定されているのではなく、単なるテンプレートであることに注意してください。

私を助けてください

文字列を見つけて自分の文字列に置き換えようとしていますが、それを行うことができます

  var start_pos = test_str.indexOf('<') + 1;
            var end_pos = test_str.indexOf('<', start_pos);
            var text_to_get = test_str.substring(start_pos, end_pos)
            $('#MainContent_lblSMSTemplate').text().replace(text_to_get, "");
4

2 に答える 2

1

どうぞ:

function replaceString(string, replaceObj) {
   for (var key in replaceObj) {
      string = string.replace(new RegExp(key, 'gi'), replaceObj[key]);
   }

   return string;
}

var replaceObject = {
     '< EmployeeList >' : 'ABC',
     '< DepartmentList >' : 'DepHr',
     '< DateCalendar >' : '12march'
};

var string = 'Dear < EmployeeList >, kindly complete your joining documentation and submit the same to < DepartmentList > latest by < DateCalendar >';

var newString = replaceString(string, replaceObject); // ouput will be: Dear ABC, kindly complete your joining documentation and submit the same to ABC latest by ABC
于 2013-09-05T18:25:04.943 に答える
0

これは簡単な解決策です:

var textstring = "Dear < EmployeeList >, kindly complete your joining documentation and submit the same to < DepartmentList > latest by < DateCalendar >";

textstring.replace("< EmployeeList >", "ABC");
textstring.replace("< DepartmentList >", "DepHr");
textstring.replace("< DateCalendar >", "12 March");
于 2013-09-05T18:21:58.407 に答える