Перейти к содержимому

Работа со строками.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Гость_Guest_rigor_mortis_*_*

Гость_Guest_rigor_mortis_*_*
  • Guests

Отправлено 31 января 2006 - 14:54

Привет всем.

Кто знает, как обрезать строку? Например есть строка "456string", надо обрезать первые 3 символа. В Utillites метода вроде "Delete", "Remove" нет. В dotNET, есть, но не понятно, как передать в конструктор строку. Там для System_string двять конструкторов, и ни один не принимает "string". Пробовал передать строку в ctor() который принимает массив символов не работает - пишет неверные данные передаются.

d = dotNET["mscorlib"]["System_String"]["ctor"]("456string");
хотел потом вызвать
d["Remove"](0, 2);

Ещё не понятно - если заглянуть в VS.NET то можно видеть, что для system.string имеются всего 3 конструктора (оди из которых принимает строку).
Откуда test complete накопал 9 - не понятно.

Если кто-то что-то может прояснить по этой теме, плз, напишите. Основной вопрос - как обрезать строку.

#2 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 01 февраля 2006 - 12:01

Здравствуйте.

TestComplete ничего сам для .NET не придумывает, а берет все из .NET ассемблей или из GAC.

Обрезать строку вы легко можете воспользовавшить методом substr объекта String языка JScript. Несмотря на то, что вы пользуетесь C#Script, на самом деле это JScript с необычным синтаксисом. Такой синтаксис доступа к свойствам и методам объектов - это по сути дела работа с ассоциативными массивами. Нужно это для возможности создания C# Connected Applications.
var str = "456string";
Log["Message"](str["substr"](3, str["length"]));
Подробнее об объекте String можете почитать здесь.
  • 0
С уважением,
Дмитрий

#3 Гость_Guest_rigor_mortis_*_*

Гость_Guest_rigor_mortis_*_*
  • Guests

Отправлено 01 февраля 2006 - 15:27

Спасибо за стринги. Взал в msdn от явы метод replace - не работает. Пишет, что объект не поддерживает метод.

function T()
{
var x, d;

x = 1,5;
d = x["Replace"](",", ".");
}

вроде всё правильно. Может правда не поддерживает? Альтернатива этому методу есть?

#4 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 01 февраля 2006 - 15:28

Спасибо за стринги.

Просмотр сообщения

Вы носите стринги? :rtfm:
  • 0

#5 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 03 февраля 2006 - 15:57

Здравствуйте.

Во-первых, 1,5 - это не число и не строка. Надо указывать в кавычках. Во-вторых, JScript - case-sensitive язык, поэтому replace надо писать с маленькой буквы.
function T()
{
  var x, d;

  x = 1,5;
  d = x["replace"](",", ".");
  Log.Message(d);
}

  • 0
С уважением,
Дмитрий


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных