从字符串java中删除域名

时间:2017-09-18 15:12:15

标签: java string

我有一个看起来像这样的字符串

String str = "domain\ABC";
String str = "domain1\DEF";

如何编写一个通用函数来删除"域\"或" domain1 \"并且只需要在' \'之后输入字符串。我尝试了几种不同的方式,但似乎都没有。

这就是我的尝试。

String[] str = remoteUser.split(remoteUser, '\\');

4 个答案:

答案 0 :(得分:6)

这不需要split()或正则表达式,因为这是矫枉过正的。这是一个简单的indexOf()操作。

  

我如何编写常用功能......?

像这样:

public static String removeDomain(String input) {
    return input.substring(input.indexOf('/') + 1);
}

如果找不到indexOf(),则代码依赖-1返回/这一事实,因此+ 10 substring(0)和{{1}}然后按原样返回输入字符串。

答案 1 :(得分:1)

试试这样。

String str = "domain\\ABC";
String[] split = str.split("\\\\");

//Assign the second element of the array. This only works if you know for sure that there is only one \ in the string.
String withoutSlash = split[1];

希望它有所帮助。

答案 2 :(得分:0)

您可以使用<TabControl TabStripPlacement="Bottom"> <TabControl.Resources> <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}"> <Setter Property="HeaderTemplate"> <Setter.Value> <DataTemplate> <ContentPresenter> <ContentPresenter.Content> <TextBlock FontSize="18" Padding="5,0,0,0" Text="{TemplateBinding Content}"> <TextBlock.Style> <Style TargetType="TextBlock"> <Style.Triggers> <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=TabItem}}" Value="True"> <Setter Property="FontWeight" Value="SemiBold"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </ContentPresenter.Content> </ContentPresenter> </DataTemplate> </Setter.Value> </Setter> </Style> </TabControl.Resources> ... </TabControl>

replaceAll

它将替换从字符串开头开始的所有内容,直到 System.out.println("domain\\ABC".replaceAll("^.*\\\\","")); 符号。

答案 3 :(得分:0)

试试这个:

static String getPath(String url) {
    int pos = url.indexOf('\');
    return pos >= 0 ? url.substring(pos + 1) : url;
}