Лучший способ повредить строку на последней точке на C#

// Just simply add border around the image view or view

<ImageView
                android:id="@+id/imageView2"
                android:layout_width="90dp"
                android:layout_height="70dp"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:layout_toLeftOf="@+id/imageView1"
                android:background="@android:color/white"
                android:padding="5dip" />

// After that dynamically put color into your view or image view object

objView.setBackgroundColor(Color.GREEN);

//VinodJ/Abhishek
9
задан pupeno 6 July 2009 в 09:15
поделиться

9 ответов

Если вам нужна производительность, что-то вроде:

    string s = "a.b.c.d";
    int i = s.LastIndexOf('.');
    string lhs = i < 0 ? s : s.Substring(0,i),
        rhs = i < 0 ? "" : s.Substring(i+1);
24
ответ дан 4 December 2019 в 06:35
поделиться

Вы можете использовать Path.GetFilenameWithoutExtension ()

или, если это не сработает для вас:

int idx = filename.LastIndexOf('.');

if (idx >= 0)
   filename = filename.Substring(0,idx);
5
ответ дан 4 December 2019 в 06:35
поделиться

Чтобы получить путь без расширения, используйте

System.IO.Path.GetFileNameWithoutExtension(fileName)

, а для получения расширения (включая точку) используйте

Path.GetExtension(fileName)

EDIT:

К сожалению, GetFileNameWithoutExtension удаляет начальный путь, поэтому вместо этого вы можете используйте:

if (path == null)
{
    return null;
}
int length = path.LastIndexOf('.');
if (length == -1)
{
    return path;
}
return path.Substring(0, length);
2
ответ дан 4 December 2019 в 06:35
поделиться

Path.GetExtension () должен вам помочь.

1
ответ дан 4 December 2019 в 06:35
поделиться

А как насчет использования метода LastIndexOf, который возвращает последнюю найденную позицию символа. Затем вы можете использовать Substring для извлечения того, что хотите.

1
ответ дан 4 December 2019 в 06:35
поделиться

Строковый метод LastIndexOf , может быть, вам здесь пригодится.

Но операторы Path или FileInfo лучше подходят для операций на основе имени файла.

1
ответ дан 4 December 2019 в 06:35
поделиться

String.LastIndexOf вернет вам позицию точки, если она когда-либо существует в строке. Затем вы можете использовать методы String.Substring для разделения строки.

1
ответ дан 4 December 2019 в 06:35
поделиться

Вы можете использовать строковый метод

LastIndexOf и подстроку для выполнения задачи.

1
ответ дан 4 December 2019 в 06:35
поделиться

Я думаю, что вы действительно ищете Path.GetFileNameWithoutExtension Method (System.IO) , но, черт возьми, это:

string input = "foo.bar.foobar";
int lastDotPosition = input.LastIndexOf('.');

if (lastDotPosition == -1)
{
    Console.WriteLine("No dot found");
}
else if (lastDotPosition == input.Length - 1)
{
    Console.WriteLine("Last dot found at the very end");

}
else
{
    string firstPart = input.Substring(0, lastDotPosition);
    string lastPart = input.Substring(lastDotPosition + 1);

    Console.WriteLine(firstPart);
    Console.WriteLine(lastPart);
}
0
ответ дан 4 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: