我有一个看起来像这样的字符串
String str = "domain\ABC";
String str = "domain1\DEF";
如何编写一个通用函数来删除"域\"或" domain1 \"并且只需要在' \'之后输入字符串。我尝试了几种不同的方式,但似乎都没有。
这就是我的尝试。
String[] str = remoteUser.split(remoteUser, '\\');
答案 0 :(得分:6)
这不需要split()
或正则表达式,因为这是矫枉过正的。这是一个简单的indexOf()
操作。
我如何编写常用功能......?
像这样:
public static String removeDomain(String input) {
return input.substring(input.indexOf('/') + 1);
}
如果找不到indexOf()
,则代码依赖-1
返回/
这一事实,因此+ 1
将0
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;
}